Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membetulkan ralat nombor ajaib dalam kod Python?

Bagaimana untuk membetulkan ralat nombor ajaib dalam kod Python?

WBOY
WBOYasal
2023-06-24 13:23:301617semak imbas

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)
  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")
  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)  # 使用函数,避免使用魔术数字
  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)  # 使用函数,避免使用魔术数字

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!

Kenyataan:
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