Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Python 3 Melakukan Pembahagian Titik Terapung Daripada Pembahagian Integer?

Mengapa Python 3 Melakukan Pembahagian Titik Terapung Daripada Pembahagian Integer?

Barbara Streisand
Lepaskan: 2024-12-14 18:27:16
asal
929 orang telah melayarinya

Why Does Python 3 Perform Floating-Point Division Instead of Integer Division?

Mengapa Python Melakukan Pembahagian Titik Terapung untuk Pembahagian Integer

Dalam versi terbaru Python (3 dan seterusnya), pembahagian integer (membahagikan dua integer) menghasilkan apungan dan bukannya integer. Tingkah laku ini berbeza daripada versi terdahulu, yang mengutamakan keputusan integer untuk operan integer.

Pertimbangkan bahagian berikut dalam Python 3:

>>> 2 / 2
1.0
Salin selepas log masuk

Hasil yang mengejutkan ini boleh menyebabkan kekeliruan, terutamanya jika anda terbiasa dengan versi Python yang lebih lama.

Alasan Di Sebalik Perubahan

Rasional untuk perubahan ini didokumenkan dalam PEP-238: Menukar Operator Bahagian. Cadangan ini bertujuan untuk:

  • Memperkenalkan pembahagian lantai yang tidak jelas, dilambangkan oleh operator //.
  • Menghapuskan potensi penukaran jenis yang tidak diingini dan ralat pusing-balik dengan operan jenis bercampur.

Implikasi untuk Kod Anda

Perubahan ini mempunyai beberapa implikasi untuk kod Python anda:

  • Jika anda memerlukan pembahagian integer (dibundarkan ke arah sifar), gunakan operator // secara eksplisit.
  • Jika anda menjangkakan hasil apungan, pemutus tidak diperlukan.
  • Untuk kebolehbacaan maksimum, pertimbangkan untuk menggunakan operator // dan / dengan bijak untuk menyampaikan niat anda dengan jelas.

Contoh:

# Explicit floor division
result = 2 // 2  # 1

# Float division
result = 2 / 2  # 1.0
Salin selepas log masuk

Sumber Tambahan

  • [PEP-238: Menukar Operator Bahagian](https://www. python.org/dev/peps/pep-0238/)

Atas ialah kandungan terperinci Mengapa Python 3 Melakukan Pembahagian Titik Terapung Daripada Pembahagian Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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