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
Lepaskan: 2024-12-28 19:26:11
asal
423 orang telah melayarinya

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'
Salin selepas log masuk

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()
Salin selepas log masuk

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()
Salin selepas log masuk

Output:

init
Test Func
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan