Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Memanggil `getPumps()` Menghasilkan `TypeError: Hilang Argumen 'diri' yang Diperlukan dalam Panggilan Kaedah`?

Mengapa Memanggil `getPumps()` Menghasilkan `TypeError: Hilang Argumen 'diri' yang Diperlukan dalam Panggilan Kaedah`?

Linda Hamilton
Linda Hamiltonasal
2024-12-28 19:26:11415semak imbas

Why Does Calling `getPumps()` Result in a `TypeError: Missing Required 'self' Argument in Method Call`?

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!

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