[Q] __methods__ and __members__ special functions...
Emile van Sebille
emile at fenx.com
Tue Jul 20 09:08:29 EDT 1999
Hi Olivier,
It looks like dir(a.__class__) returns the methods available to your
instance, although you may want to iterate through a.__class__.__bases__
if available as well.
--
Emile van Sebille
emile at fenx.com
-------------------
Olivier Deckmyn <olivier.deckmyn at mail.dotcom.fr> wrote in message
news:7n1n7c$7ao$1 at feed.teaser.fr...
> Hi all !
>
> I want to know all the methods available to a instance.
>
> Here is a copy of the official FAQ :
> """
> 4.60. Why doesn't dir() work on builtin types like files and lists?
> It should have -- and it does starting with Python 1.5 (currently in
> development -- see Questions 1.13 and 2.10).
> Using 1.4, you can find out which methods a given object supports by
looking
> at its __methods__ attribute:
>
>
> >>> List = []
> >>> List.__methods__
> ['append', 'count', 'index', 'insert', 'remove', 'reverse',
'sort']
> """"
>
> if I make the test with [].__methods__ it works as expected.
> But when I use my own object :
>
> class ClassA:
> def __init__(self):
> pass
>
> def myMethod(self, a)
> return a*2
>
> if I try __methods__ on a fresh instance :
>
> a=ClassA()
> a.__methods__
>
> this raises a NameError exception :(
>
> Why ? Where is __methods__ declared ?
> Why does this work for any instance in the brower.py provided with
pythonwin
> ?
>
> Please help !
>
> Olivier.
>
>
>
>
>
More information about the Python-list
mailing list