Getting a list of member functions
Christian Tismer
tismer at tismer.com
Fri Dec 15 06:12:15 EST 2000
More information about the Python-list mailing list
Fri Dec 15 06:12:15 EST 2000
- Previous message (by thread): Getting a list of member functions
- Next message (by thread): threading v thread
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Jay O'Connor wrote: > > Hi, > > I'm trying to get a list of the member functions for an object. I would think __members__ or __methods__ would work > > Here's what I'm getting [of course not working...] > This is on Pythong 1.5.2 > > Did I miss something? > > I know I could probably loop through the classes __dict__ and pull out the functions, but that's kinda kludgey and would miss instance specific methods Classes do not implement __members__ and __methods__ automagically, but you can do this yourself. If you want to provide static members for instance, just put a list __members__ = ["var1", "var2", "var3"] into your class. If you want to make this more dynamic or instance specific, it is a little more complicated, since you then have to overwrite __getattr__ and compute the __members__ attribute on-the-fly. >>> class demo: ... def __init__(self, **vars): ... self.__dict__.update(vars) ... def __getattr__(self, key): ... if key=="__members__": ... return self.__dict__.keys() ... raise AttributeError, key ... >>> x=demo(a=5, b=7, c=42) >>> x.__members__ ['b', 'c', 'a'] >>> x.x=0 >>> x.__members__ ['b', 'c', 'x', 'a'] >>> Of course this gets more clumsy if you also have to support instance-specific methods. But I doubt that these are so urgent to have at all. ciao - chris -- Christian Tismer :^) <mailto:tismer at tismer.com> Mission Impossible 5oftware : Have a break! Take a ride on Python's Kaunstr. 26 : *Starship* http://starship.python.net 14163 Berlin : PGP key -> http://wwwkeys.pgp.net PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF where do you want to jump today? http://www.stackless.com
- Previous message (by thread): Getting a list of member functions
- Next message (by thread): threading v thread
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list