O garantisi var False == 0
ve True == 1
Python (kullanıcı tarafından yeniden olmadığını varsayarak)? Örneğin, Python'un sürümü ne olursa olsun (hem mevcut hem de muhtemelen gelecekteki olanlar) aşağıdaki kodun her zaman aynı sonuçları üreteceği garanti edilir mi?
0 == False # True
1 == True # True
['zero', 'one'][False] # is 'zero'
Resmi belgelere yapılan göndermeler çok takdir edilecektir!
Düzenleme : Birçok bool
cevapta belirtildiği gibi, kaynağını devralır int
. "Belgelerine resmen o programcılar, tamsayılar devralan boolelerde güvenebilirsiniz söylüyor mu: Soru nedenle olarak yeniden dökülebilir değerlerle 0
ve1
?". Bu soru, uygulama ayrıntıları nedeniyle başarısız olmayacak sağlam kod yazma ile ilgilidir!
sum(bool_list)
. Aksi takdirde yazmanız gerekir sum(1 for x bool_list if x)
.
bool_list.count(True)
daha açık olduğunu söyleyebilirim ; Ayrıca 3 kat daha hızlı… :)