Bagaimana untuk membetulkan ralat nombor ajaib dalam kod Python?

WBOY
Lepaskan: 2023-06-24 13:23:30
asal
1623 orang telah melayarinya

Dalam proses menulis kod Python, ralat yang dipanggil Magic Number kadangkala berlaku. Ralat ini merujuk kepada penggunaan nombor yang tidak ditentukan atau tidak jelas dalam kod, yang menjadikan kod sukar untuk difahami dan dikekalkan. Di samping itu, nombor ajaib juga boleh membawa kepada beberapa masalah yang berpotensi, seperti apabila kod itu perlu diubah suai, dan nombor ajaib diubah suai secara tidak sengaja, menyebabkan kod itu bertindak secara tidak dijangka.

Jadi, bagaimana untuk menyelesaikan ralat nombor ajaib dalam kod Python? Berikut ialah beberapa cadangan:

  1. Tentukan pemalar

Menggunakan pemalar dan bukannya nombor ajaib ialah salah satu cara terbaik untuk membetulkan ralat nombor ajaib. Tentukan pemalar sebagai pembolehubah global di bahagian atas kod anda atau dalam modul berasingan dan rujuknya apabila diperlukan. Dengan cara ini, jika anda perlu mengubah suai nilai pemalar dalam kod, anda hanya perlu mengubah suai satu definisi, bukannya perlu mencari semua tempat dalam kod di mana nombor itu digunakan dan mengubah suainya.

Contoh:

MAX_VALUE = 100  # 定义一个常量
for i in range(MAX_VALUE):  # 使用常量
    print(i)
Salin selepas log masuk
  1. Jenis penghitungan

Jenis penghitungan ialah cara mengikat pemalar kepada nama, yang lebih menggambarkan set nilai yang mungkin. Menggunakan jenis penghitungan boleh menjadikan kod anda lebih mudah dibaca dan lebih mudah diselenggara.

Contoh:

from enum import Enum

class Size(Enum):
    SMALL = 1
    MEDIUM = 2
    LARGE = 3

size = Size.MEDIUM  # 使用枚举类型
if size == Size.SMALL:
    print("Small size selected")
elif size == Size.MEDIUM:
    print("Medium size selected")
else:
    print("Large size selected")
Salin selepas log masuk
  1. Gunakan parameter bernama

Menggunakan parameter bernama semasa memanggil fungsi boleh menjadikan kod lebih jelas dan lebih mudah difahami, di samping mengelakkan penggunaan nombor ajaib.

Contoh:

def draw_rectangle(x, y, width=10, height=10):  # 定义一个函数,使用命名参数
    pass

draw_rectangle(2, 4, width=100, height=50)  # 使用函数,避免使用魔术数字
Salin selepas log masuk
  1. Abstraksi

Mengabstraksi proses pengiraan kompleks ke dalam fungsi atau kelas boleh menjadikan kod lebih modular dan lebih mudah diselenggara. Pada masa yang sama, pemalar atau jenis penghitungan juga boleh ditakrifkan semasa proses abstraksi untuk mengelakkan penggunaan nombor ajaib.

Contoh:

def calculate_area(width, height):
    return width * height

area = calculate_area(10, 20)  # 使用函数,避免使用魔术数字
Salin selepas log masuk

Kesimpulannya, menggunakan kaedah di atas, kita boleh mengelak daripada menggunakan nombor ajaib, menjadikan kod lebih jelas, lebih mudah difahami dan diselenggara. Walaupun kaedah ini boleh menambah beberapa kod tambahan dan berfungsi, peningkatan dalam kebolehbacaan dan kebolehselenggaraan kod adalah berbaloi.

Atas ialah kandungan terperinci Bagaimana untuk membetulkan ralat nombor ajaib dalam kod Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan