说我同意:
#!/usr/bin/env python
# encoding: utf-8
class A(object):
pass
Run Code Online (Sandbox Code Playgroud)
现在我拆开它:
python -m dis test0.py
4 0 LOAD_CONST 0 ('A')
3 LOAD_NAME 0 (object)
6 BUILD_TUPLE 1
9 LOAD_CONST 1 (<code object A at 0x1004ebb30, file "test0.py", line 4>)
12 MAKE_FUNCTION 0
15 CALL_FUNCTION 0
18 BUILD_CLASS
19 STORE_NAME 1 (A)
22 LOAD_CONST 2 (None)
25 RETURN_VALUE
Run Code Online (Sandbox Code Playgroud)
现在我在类定义中添加一些语句:
#!/usr/bin/env python
# encoding: utf-8
class A(object):
print 'hello'
1+1
pass
Run Code Online (Sandbox Code Playgroud)
然后我又拆开了:
4 0 LOAD_CONST 0 ('A')
3 LOAD_NAME 0 (object)
6 BUILD_TUPLE …Run Code Online (Sandbox Code Playgroud) 我想获取Python对象所来自的模块.都
x.__module__
Run Code Online (Sandbox Code Playgroud)
和
x.__class__.__module__
Run Code Online (Sandbox Code Playgroud)
似乎工作.这些完全是多余的吗?是否有理由偏爱另一个?