Distinguishing attributes and methods
James Stroud
jstroud at mbi.ucla.edu
Sat Dec 8 06:50:40 EST 2007
tjhnson at gmail.com wrote:
> Hi,
>
> With properties, attributes and methods seem very similar. I was
> wondering what techniques people use to give clues to end users as to
> which 'things' are methods and which are attributes. With ipython, I
> use tab completion all the time, but I can rarely tell from the names
> alone whether it is an attribute or method.
>
> Tips? Ideas? Best practices?
>
> Here is one idea: Ipython should color-code the tab completion based
> on attributes and methods.
Sure. Import types and test, then color code based on the test result.
For example:
py> import types
py> def doit(stuff):
... print stuff
...
py> class Thing(object):
... def amethod(self):
... print 42
...
py> t = Thing()
py> type(t.amethod) is types.MethodType
True
py> type(t.doit) is types.FunctionType
True
py> type(Thing.amethod) is types.UnboundMethodType
True
py> t.value = 4
py> type(t.value) not in (types.FunctionType, types.UnboundMethodType,
types.MethodType)
True
James
--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095
http://www.jamesstroud.com
More information about the Python-list
mailing list