มันรับประกันหรือไม่False == 0
และTrue == 1
ใน Python (สมมติว่าผู้ใช้ไม่ได้กำหนดใหม่)? ตัวอย่างเช่นมีการรับประกันว่ารหัสต่อไปนี้จะให้ผลลัพธ์ที่เหมือนกันไม่ว่าจะเป็น Python รุ่นใด (ทั้งที่มีอยู่และที่เป็นไปได้ในอนาคต)
0 == False # True
1 == True # True
['zero', 'one'][False] # is 'zero'
การอ้างอิงถึงเอกสารอย่างเป็นทางการจะได้รับการชื่นชมมาก!
แก้ไข : ตามที่ระบุไว้ในคำตอบหลายสืบทอดจากbool
int
คำถามนี้สามารถสร้างใหม่เป็น: "เอกสารอย่างเป็นทางการกล่าวว่าโปรแกรมเมอร์สามารถพึ่งพาบูลีนที่สืบทอดมาจากจำนวนเต็มพร้อมค่า0
และ1
?" คำถามนี้เกี่ยวข้องกับการเขียนโค้ดที่มีประสิทธิภาพซึ่งจะไม่ล้มเหลวเนื่องจากรายละเอียดการใช้งาน!
sum(bool_list)
ได้ sum(1 for x bool_list if x)
มิฉะนั้นคุณจะต้องเขียน
bool_list.count(True)
ชัดเจนมากขึ้น ก็ยังประมาณ 3 ครั้งได้เร็วขึ้น ... :)