Doğrudan boole uygulanmadı.Doğru <2 nasıl uygulanır?
>>> True.__lt__(2)
AttributeError: 'bool' object has no attribute '__lt__'
Ve görünüşe göre uygulanan değil int
ya:
>>> super(bool, True).__lt__(2)
AttributeError: 'super' object has no attribute '__lt__'
Orada işleyişini kontrol etmek 2
için __lt__
hiçbir yansıyan sürümü ve int
tip bool
bir alt sınıfı olmadığından emin asla yine de çalış.
Python 3 beklendiği gibi davranır:
>>> True.__lt__(2)
True
Peki, nasıl True < 2
Python 2 uygulanıyor? Temel olarak, False
ve True
korkak repr()
s 0 ve 1 'dir:
Bir tam sayıya dolaylı olarak dönüştürebilir mi? – Carcigenicate
Bu hileyi daha komik bulabilirsiniz: '[exprFalse, exprTrue] [koşul]', her ikisi de değerlendirmek dışında, koşul başka exprFalse' – BlackBear
@BlackBear ise exprTrue öğesine eşdeğerdir. print ("False") 'vs' [print ("False"), baskı ("True")] [condition] '(başka bir deyişle yazdırma)" print ("True"). – immibis