>>> class Test:
def __init__(self):
pass
>>> Test()>Test()
True
>>> Test()>Test()
False
Bunun nedeni nedir?
>>> class Test:
def __init__(self):
pass
>>> Test()>Test()
True
>>> Test()>Test()
False
Bunun nedeni nedir?
Basitçe ifade ederseniz, karşılaştırmalarınız doğrudan sınıfın verileri üzerinde değil, sınıfın kendisinin (id (Foo (1))) örneğidir, çünkü karşılaştırmaları açıkça yazmamışsınızdır.
Örneklerin kimliğini karşılaştırır, bu nedenle bazen doğrudur ve diğer zamanlarda yanlıştır.
Foo(1)
=> <__main__.Foo instance at 0x2a5684>
Foo(1)
=> <__main__.Foo instance at 0x2a571c>
Foo(1)
Daha fazlasını açıklar mısınız. Neden Foo (5)> Foo (2) 'yi çalıştırırsam, False vereceğimi anlayamıyorum ve daha sonra aynı testi tekrar çalıştırdığımda Foo (5)> Foo (2)' yi True verecek mi? – Marcin
Sizin Droonkid
Biliyorum ama bu id farklı, ama her seferinde karşılaştırma neden farklı? – Droonkid
Bize hangi işlevin veya daha ziyade sınıfın neye benzediğini gösterir misiniz? – taesu
Kesir uygulamanızın görülmesi ya da aşırı yüklenmeyle ilgili kısımların bulunması iyi olacaktır. – Marcin
'__init__' yönteminiz nedir? Tam minimal kodu bize göstermeye çalışın. –