Bila dan Mengapa bool merupakan Subkelas int dalam Python?

Susan Sarandon
Lepaskan: 2024-10-22 06:20:31
asal
837 orang telah melayarinya

When and Why is bool a Subclass of int in Python?

Mengapa bool Secara Teknikal Subkelas int dalam Python?

Semasa menggunakan perpustakaan memcached Python untuk menyimpan nilai Boolean, pada mulanya mengejutkan amati pengembaliannya sebagai integer. Penyiasatan yang lebih mendalam mendedahkan bahawa Python mentafsirkan isinstance(val, int) sebagai Benar untuk nilai bool, membayangkan bool itu entah bagaimana merupakan subkelas int.

Hubungan pelik antara bool dan int ini mempunyai penjelasan sejarah. Sebelum pengenalan jenis bool dalam Python versi 2.2 atau 2.3, perwakilan standard untuk nilai Boolean menggunakan integer 0 (Salah) dan 1 (Benar).

Untuk memastikan keserasian dengan kod sedia ada yang bergantung pada ini konvensyen, Python melaksanakan jenis bool dengan cara yang mencerminkan gelagat 0 dan 1. Ini bermakna bukan sahaja mengekalkan nilai kebenarannya tetapi juga memperluaskan fungsinya untuk menyokong semua operasi integral.

Akibatnya, bool Python taip pada dasarnya "menyamar" sebagai integer. Walaupun ada kemungkinan untuk menggunakan nilai bool dalam konteks berangka, ia tidak disyorkan. Begitu juga, menguji kesamaan bool dan integer untuk nilai kebenaran boleh membawa kepada tingkah laku yang tidak dijangka.

Evolusi sejarah ini menerangkan sebab bool ialah subkelas int dalam Python. Ia berfungsi sebagai artifak sejarah pengembangan bahasa Python dan keperluan keserasian.

Atas ialah kandungan terperinci Bila dan Mengapa bool merupakan Subkelas int dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!