hidden attributes
Bengt Richter
bokr at oz.net
Tue Dec 17 19:51:26 EST 2002
More information about the Python-list mailing list
Tue Dec 17 19:51:26 EST 2002
- Previous message (by thread): hidden attributes
- Next message (by thread): Python_Sightings_?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 18 Dec 2002 00:09:49 GMT, bokr at oz.net (Bengt Richter) wrote: >On 17 Dec 2002 11:04:30 -0800, mis6 at pitt.edu (Michele Simionato) wrote: > >>I've just discovered that the attribute __name__ is hidden i.e. >>not shown by dir: >> >>>>> class C: pass >>... >>>>> C.__name__ >>'C' >>>>> dir(C) >>['__doc__', '__module__'] # __name__ is not shown >>>>> help(dir) >>Help on built-in function dir: >> >>dir(...) >> dir([object]) -> list of strings >> >> Return an alphabetized list of names comprising (some of) the attributes >> ^^^^^^^ >> of the given object, and of attributes reachable from it: >> >> No argument: the names in the current scope. >> Module object: the module attributes. >> Type or class object: its attributes, and recursively the attributes of >> its bases. >> Otherwise: its attributes, its class's attributes, and recursively the >> attributes of its class's base classes. >> >>Why __name__ is hidden and how do I discover if there other hidden >>attributes I don't know about ? >> >My guess would be that somehow the attribute access for '__name__' >finds its way internally to the value via something like > > >>> import types > >>> class C: pass > ... > >>> types.ClassType.__getattribute__(C, '__name__') > 'C' > This seems to work more generally, so maybe it's a better guess: >>> class C: pass ... >>> class D(object): pass ... >>> class E(type): pass ... >>> [type(x).__getattribute__(x,'__name__') for x in (C,D,E)] ['C', 'D', 'E'] >but that's a guess. One could check the code, I suppose. I wonder how hard it >would be to write a little Python tool to grep the C sources for hardcoded >attribute names. It might make an interesting listing. Maybe such a script exists? > Regards, Bengt Richter
- Previous message (by thread): hidden attributes
- Next message (by thread): Python_Sightings_?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list