From: R David Murray Date: Sat, 4 Oct 2014 22:24:32 +0000 (-0400) Subject: #14201: Update ctypes docs to match behavior changed from 214b28d7a999. X-Git-Tag: v2.7.9rc1~161 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=72601e1456093a9022b948d45e67523512407cd0;p=thirdparty%2FPython%2Fcpython.git #14201: Update ctypes docs to match behavior changed from 214b28d7a999. Original patch by Erik Johansson, slightly updated by Meador Inge. --- diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index 31d5b31d131d..a071edc00333 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -1443,11 +1443,16 @@ copy of the windows error code. The default mode which is used to load shared libraries. On OSX 10.3, this is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*. -Instances of these classes have no public methods, however :meth:`__getattr__` -and :meth:`__getitem__` have special behavior: functions exported by the shared -library can be accessed as attributes of by index. Please note that both -:meth:`__getattr__` and :meth:`__getitem__` cache their result, so calling them -repeatedly returns the same object each time. +Instances of these classes have no public methods. Functions exported by the +shared library can be accessed as attributes or by index. Please note that +accessing the function through an attribute caches the result and therefore +accessing it repeatedly returns the same object each time. On the other hand, +accessing it through an index returns a new object each time: + + >>> libc.time == libc.time + True + >>> libc['time'] == libc['time'] + False The following public attributes are available, their name starts with an underscore to not clash with exported function names: