Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Memanggil `getPumps()` Menghasilkan `TypeError: Hilang Argumen 'diri' yang Diperlukan dalam Panggilan Kaedah`?
TypeError: Hilang Argumen 'diri' yang Diperlukan dalam Panggilan Kaedah
Coretan kod membentangkan percubaan untuk memanggil kaedah getPumps() Pam kelas tanpa membuat contoh kelas terlebih dahulu. Ini mengakibatkan ralat berikut:
TypeError: getPumps() missing 1 required positional argument: 'self'
Memahami Argumen Pembina dan Kaedah
Dalam Python, apabila mentakrifkan kaedah dalam kelas, hujah pertama sentiasa diri , yang merujuk kepada contoh objek semasa. Beginilah cara kaedah mengakses dan memanipulasi data khusus instance.
Inisialisasi dengan __init__()
Kaedah __init__() ialah kaedah pembina dipanggil apabila tika a kelas dibuat. Ia digunakan untuk memulakan keadaan dalaman objek.
Kaedah Memanggil pada Kejadian
Untuk memanggil kaedah pada objek, objek mesti dibuat terlebih dahulu. Ini melibatkan memanggil nama kelas dengan kurungan, seperti p = Pump(), untuk mencipta objek baharu. Selepas itu barulah anda boleh memanggil kaedah pada tika itu, seperti p.getPumps().
Kemas Kini Kod
Untuk menyelesaikan ralat, anda perlu mencipta tika kelas Pam sebelum memanggil getPumps(). Kod yang dikemas kini:
class Pump: def __init__(self): print("init") def getPumps(self): pass # Create an instance of the Pump class p = Pump() # Now call the getPumps() method p.getPumps()
Contoh Tambahan
Untuk kejelasan, berikut ialah contoh yang lebih terperinci:
class TestClass: def __init__(self): print("init") def testFunc(self): print("Test Func") # Create an instance of the test class testInstance = TestClass() # Call the testFunc() method on the instance testInstance.testFunc()
Output:
init Test Func
Atas ialah kandungan terperinci Mengapa Memanggil `getPumps()` Menghasilkan `TypeError: Hilang Argumen 'diri' yang Diperlukan dalam Panggilan Kaedah`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!