有这样的课程:
class Spam(object):
def __init__(self, name=''):
self.name = name
eggs = Spam('systempuntoout')
使用dis
,是否可以看到如何创建类的实例和相应的十六进制标识?
答案 0 :(得分:1)
是的,但是从输出来看并不明显,这是Python字节码的级别,例如:
>>> class Foo(object):
... def f(x): return x * x
...
>>> dis.dis(Foo)
Disassembly of f:
2 0 LOAD_FAST 0 (x)
3 LOAD_FAST 0 (x)
6 BINARY_MULTIPLY
7 RETURN_VALUE
从上面的转储中弄清楚Foo.f正在做什么并不需要太多,但随着代码大小的增长,它很快就会变得不可读。