2024-04-19 06:12:26 发布
网友
我正在写一个分数课,在闲逛的时候我注意到:
>>> class Test: def __init__(self): pass >>> Test()>Test() True >>> Test()>Test() False
为什么会这样?在
简单地说,您的比较不是直接在类的数据上,而是在类本身的实例(id(Foo(1)),因为您没有显式地编写它的比较。在
它比较实例的id,因此有时它是真的,有时是假的。在
Foo(1) => <__main__.Foo instance at 0x2a5684> Foo(1) => <__main__.Foo instance at 0x2a571c> Foo(1)
简单地说,您的比较不是直接在类的数据上,而是在类本身的实例(id(Foo(1)),因为您没有显式地编写它的比较。在
它比较实例的id,因此有时它是真的,有时是假的。在
相关问题 更多 >
编程相关推荐