thể trùng lặp:
Is False == 0 and True == 1 in Python an implementation detail or is it guaranteed by the language?Có đảm bảo rằng False "là 0" và True "là 1" không?
tôi nhận thấy ngày hôm nay rằng các công việc sau sử dụng python 2.6 (CPython) ...
>>> a=[100,200]
>>> a[True]
200
>>> a[False]
100
Đây có phải là di động để triển khai python khác (ví dụ: True
/False
được đảm bảo kế thừa từ int? Là True
g uaranteed để đánh giá 1 thay vì một số khác khác không số?) Có bất kỳ tình huống mà điều này sẽ hữu ích? Nó có vẻ như nó có thể được sử dụng như một hình thức của một nhà điều hành ternary, nhưng tôi không biết bao nhiêu là đạt được có ...
(Không phải là câu trả lời, nhưng bạn có thể thấy nó thú vị: Trong Python 2.6 và trước True và False chỉ là biến vì vậy ... 'True, False =" hello "," world "' ... nhưng chúng có * reserved * status trong Python 3.x) –
Theo như tôi biết, True và False là các nhãn cho 1 và 0. 1 == True và 0 == False. Do đó, nó sẽ trả về các mục 0 và 1 trong danh sách –
@gwynhowell: không, 'True' và' False' là các đối tượng ở bên phải của riêng chúng, kiểu 'bool'. –