Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Jenis Data Boolean Subkelas Integer dalam Python?
Memahami Hubungan Warisan Antara bool dan int
Dalam Python, adalah menarik untuk mengetahui bahawa jenis data bool yang kelihatan berbeza sebenarnya ialah subkelas daripada int. Ini menimbulkan persoalan: Mengapa hubungan ini diwujudkan?
Sebab di sebalik warisan ini berpunca daripada evolusi sejarah Python. Sebelum pengenalan jenis bool dalam versi 2.2 atau 2.3, nilai kebenaran diwakili menggunakan integer 0 dan 1, serupa dengan C89.
Untuk memastikan keserasian dengan kod sedia ada apabila jenis bool ditambahkan, ia telah direka bentuk untuk berkelakuan sama dengan 0 dan 1. Tingkah laku ini melangkaui nilai kebenaran untuk merangkumi semua operasi kamiran. Walaupun tidak disyorkan untuk menggunakan hasil boolean dalam konteks berangka atau menguji kesaksamaan untuk nilai kebenaran, keputusan telah dibuat untuk mengekalkan keserasian dengan kod warisan.
Akibatnya, True dan False menyamar sebagai 1 dan 0, masing-masing. Hubungan warisan ini ialah artifak sejarah yang mencerminkan evolusi bahasa Python dan keinginan untuk mengekalkan keserasian ke belakang.
Atas ialah kandungan terperinci Mengapa Jenis Data Boolean Subkelas Integer dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!