【发布时间】:2018-04-22 03:17:02
【问题描述】:
假设一个类:
class Foo(object): pass
创建一个实例:
foo = Foo()
在交互模式下测试它们:
In [80]: print(Foo)
<class '__main__.Foo'>
很好的提示,first_class 模块__main__ 中的“Foo”类,但是:
In [81]: print(foo)
<__main__.Foo object at 0x10f43b0b8>
'object'这个词让我很困惑,为什么python在这里使用object而不是instance?
【问题讨论】:
-
foo是一个对象。就这样。该地址意味着它位于某个地方。Foo是一个类。你必须习惯它,或者提交 PEP。 -
foo不继承自Foo,foo是Foo的实例,Foo继承自object,因此foo是(也)@987654337 @. -
有道理,复杂的逻辑。
-
一切都是对象,
<__main__.Foo object at 0x10f43b0b8>没有任何暗示。 -
类也是实例,因此您不会从重命名中获得太多清晰性。
标签: python repr python-object