Pemalar Octal Curious Python
Apabila menggunakan integer kecil dengan sifar pendahuluan dalam versi Python 2.x sebelum 2.6, hasil yang tidak dijangka mungkin timbul . Integer ini ditafsirkan sebagai nombor perlapanan, sistem asas nombor yang berbeza daripada sistem perpuluhan standard.
Notasi Oktal Dijelaskan
Dalam tatatanda oktal, asasnya ialah 8 dan bukannya 10. Setiap digit mewakili kuasa 8. Contohnya, dalam nombor 011:
Oleh itu, 011 bersamaan dengan 9 inci perpuluhan (8 1 = 9). Begitu juga:
Python 3 dan Pemalar Oktal
Dalam Python 3, pemalar perlapanan memerlukan awalan eksplisit, 0o, untuk membezakannya daripada integer perpuluhan. Oleh itu, 011 daripada Python 2.x akan ditulis sebagai 0o11 dalam Python 3.Pengesahan Jenis
Walaupun kelakuannya yang luar biasa, pemalar oktal ini kekal integer dalam Python:>>> type(027) <class 'int'>
Kepraktikalan Octal Pemalar
Walaupun tatatanda perlapanan adalah perkara biasa pada hari-hari awal pengkomputeran, ia jarang digunakan hari ini. Notasi perpuluhan atau heksadesimal biasanya lebih disukai untuk kebolehbacaan dan keserasian. Adalah penting untuk mengetahui pemalar perlapanan dalam Python 2.x, walau bagaimanapun, untuk memahami potensi kesannya pada tingkah laku kod.Atas ialah kandungan terperinci Mengapakah Sifar Utama dalam Python 2.x Kadangkala Menghasilkan Nilai Integer Tidak Dijangka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!