11
import inspect
class Foo(object):
pass
if __name__ == '__main__':
print type(Foo.__init__)
print inspect.getsourcelines(Foo.__init__)
出力:wrapper_descriptorとは何ですか?この場合、Foo .__ init __()はなぜですか?
<type 'wrapper_descriptor'>
Traceback (most recent call last):
*snip*
File "/usr/lib/python2.7/inspect.py", line 420, in getfile
'function, traceback, frame, or code object'.format(object))
TypeError: <slot wrapper '__init__' of 'object' objects> is not a module, class, method, function, traceback, frame, or code object
グーグルはまさに、wrapper_descriptorがあり、なぜ空のクラスはメソッドではなく、wrapper_descriptorない__init__
方法を持っているもの、についてはほとんど有用な情報を提供します。
ここでは正確に何が起こっていますか? __init__
メソッドを持たないすべてのクラスには、これらのwrapper_descriptorのいずれかのものがありますか?なぜ、クラス内に__init__
があるのですか?
C APIドキュメントでは、これ以外の詳細についても説明しています。しかし、通常は、「スロットラッパー」、「メソッドラッパー」などは、バインドされたメソッド、バインドされていないメソッドなどのように呼び出すことができますが、Pythonを持たないソースコード。 – abarnert