我做了一个简单的课程:
class Foo:
pass
然后我用id
检查了地址:
>>> id(Foo)
4299236488
我很好奇,我检查了另一种方式:
>>> id(Foo())
4332721208
为什么他们有两个不同的地址?
答案 0 :(得分:1)
Foo
是一个对象,Foo()
是对象Foo
的一个实例。
>>> type(Foo)
<type 'classobj'>
>>> id(Foo)
140710195094936
>>> type(Foo())
<type 'instance'>
>>> id(Foo())
140710195200224
答案 1 :(得分:0)
你没有用另一种方式检查它。
当您致电foo
时,您只需询问您班级的位置。
当您致电foo()
时,您创建了一个班级实例。然后询问您的班级实例所在的位置。