- 27 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 09:31:48 ]
- >>> class b(a):
... hige=3 ... def fuga(self, x): ... return self.hoge + x >>> class a: ... hoge=2 ... def hage(self, x): ... self.hoge=x >>> aa=a() >>> bb=b() >>> aa.__class__.__dict__ {'__module__': '__main__', '__doc__': None, 'hage': <function hage at 0x00930D70>, 'hoge': 2} >>> bb.__class__.__dict__ {'__module__': '__main__', 'fuga': <function fuga at 0x00930D30>, 'hige': 3, '__doc__': None} >>> dir(aa) ['__doc__', '__module__', 'hage', 'hoge'] >>> dir(bb) ['__doc__', '__module__', 'fuga', 'hage', 'hige', 'hoge'] >>> import inspect >>> inspect.getmembers(aa) [('__doc__', None), ('__module__', '__main__'), ('hage', <bound method a.hage of <__main__.a instance at 0x00934738>>), ('hoge', 2)] >>> inspect.getmembers(bb) [('__doc__', None), ('__module__', '__main__'), ('fuga', <bound method b.fuga of <__main__.b instance at 0x009347B0>>), ('hage', <bound method b.hage of <__main__.b instance at 0x009347B0>>), ('hige', 3), ('hoge', 2)] >>> [name for name,boundmethod in inspect.getmembers(aa, inspect.ismethod)] ['hage'] >>> [name for name,boundmethod in inspect.getmembers(bb, inspect.ismethod)] ['fuga', 'hage'] >>> [name for name,boundmethod in inspect.getmembers(aa) if not name.startswith('__') and not name.endswith('__')] ['hage', 'hoge'] >>> [name for name,boundmethod in inspect.getmembers(bb) if not name.startswith('__') and not name.endswith('__')] ['fuga', 'hage', 'hige', 'hoge']
|

|