Kekeliruan dengan Penamaan Pembina Kelas:
Semasa pembinaan kelas, pengaturcara Python baharu sering menghadapi ralat yang berkaitan dengan pembina kelas yang salah nama. Dua kesilapan menaip biasa menggunakan "def __int__" bukannya "def __init__" atau "def _init_" bukannya "def __init__."
"def __int__":
Pembina kelas hendaklah dinamakan "__init__" dengan dua garis bawah pada setiap sisi. Menggunakan "def __int__" memperuntukkan fungsi penukaran integer kepada kelas, mengakibatkan ralat apabila cuba membuat instantiate kelas dengan argumen.
class Example: def __int__(self, parameter): # Incorrect self.attribute = parameter
"def _init_":
Menggunakan "def _init_" juga membawa kepada ralat kerana ia tidak sepadan dengan pembina yang dijangkakan nama.
class Example: def _init_(self, parameter): # Incorrect self.attribute = parameter
"TypeError: Example() take no arguments":
Apabila cuba mencipta instance kelas, ralat "TypeError: Example () tidak mengambil hujah" berlaku kerana nama pembina yang salah telah menetapkan penukaran integer fungsi.
"AttributeError: Objek 'Contoh' tidak mempunyai atribut 'atribut'":
Ralat ini menunjukkan bahawa contoh kelas tidak mempunyai atribut yang diharapkan. Sebabnya ialah nama pembina yang salah tidak menetapkan atribut dalam kelas.
Pencegahan:
Untuk mengelakkan ralat ini, sentiasa pastikan bahawa pembina kelas dinamakan dengan betul sebagai "__init__". Bacaan pruf dan latihan adalah penting untuk menangkap kesilapan silap ini. Selain itu, mempunyai kebiasaan untuk meletakkan "__init__" sebagai kaedah pertama dalam kelas boleh membantu mengelakkan ralat.
Atas ialah kandungan terperinci Mengapa Pembina Kelas Python Saya Gagal dengan `TypeError: Example() tidak mengambil argumen` atau `AttributeError`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!