Rumah > pembangunan bahagian belakang > Tutorial Python > Bilakah Tanda Kurung Penting dalam Fungsi Python dan Panggilan Kaedah?

Bilakah Tanda Kurung Penting dalam Fungsi Python dan Panggilan Kaedah?

Susan Sarandon
Lepaskan: 2024-11-29 02:43:11
asal
701 orang telah melayarinya

When Do Parentheses Matter in Python Function and Method Calls?

Merungkai Kelalaian Kurung dalam Fungsi dan Panggilan Kaedah

Dalam Python, fungsi dan kaedah dianggap sebagai objek kelas pertama. Ini bermakna ia boleh ditugaskan kepada pembolehubah, dihantar sebagai argumen kepada fungsi lain dan juga dikembalikan daripada fungsi.

Walau bagaimanapun, apabila kita memanggil fungsi atau kaedah, kita biasanya menambahkan kurungan pada namanya, seperti my_func (). Walau bagaimanapun, terdapat senario tertentu di mana meninggalkan kurungan boleh memberi manfaat.

Pertimbangkan kod berikut:

class objectTest():
    def __init__(self, a):
        self.value = a

    def get_value(self):
        return self.value

a = objectTest(1)
b = objectTest(1)
        
print(a == b)
print(a.get_value() == b.get_value)
print(a.get_value() == b.get_value())
print(a.get_value == b.get_value)
Salin selepas log masuk

Output kod ini ialah:

False
False
True 
False
Salin selepas log masuk

Keputusan yang membingungkan ini berpunca daripada fakta bahawa get_value ialah kaedah, namun kami menggunakannya seperti pembolehubah tanpa memanggilnya terlebih dahulu. Ini mungkin kerana mengecualikan tanda kurung di sekeliling fungsi atau nama kaedah mengembalikan fungsi atau objek kaedah itu sendiri, dikenali sebagai boleh panggil.

Boleh dipanggil ialah objek yang boleh dipanggil untuk melaksanakan tindakan tertentu apabila kurungan ditambah . Dalam contoh yang diberikan, a.get_value merujuk kepada objek boleh panggil yang mewakili kaedah get_value objek a.

Oleh itu, perbandingan berikut sedang dibuat:

  • a == b : Membandingkan identiti objek a dan b (Salah)
  • a.get_value() == b.get_value: Membandingkan nilai yang dikembalikan dengan memanggil kaedah get_value a dan b (False)
  • a.get_value() == b.get_value(): Membandingkan nilai yang dikembalikan dengan memanggil kaedah get_value a dan b (Benar )
  • a.get_value == b.get_value: Membandingkan objek boleh panggil yang mewakili get_value kaedah a dan b (Salah)

Mengabaikan tanda kurung memberikan kita fleksibiliti dalam pelbagai senario:

  • Melalukan rujukan: Apabila menghantar boleh panggil kepada yang lain fungsi atau proses, meninggalkan kurungan memastikan bahawa boleh dipanggil diluluskan sebagai a rujukan.
  • Panggilan dinamik: Dalam konteks tertentu, seperti menggunakan map(), kita perlu menentukan boleh panggil dan biarkan ia dipanggil secara dinamik.
  • Koleksi boleh panggil: Kami boleh mengumpul boleh panggil dalam koleksi dan mendapatkannya secara dinamik berdasarkan khusus kriteria.

Dengan memahami gelagat peninggalan kurungan dalam panggilan fungsi dan kaedah, kami memperluaskan kemungkinan kami dalam pengaturcaraan Python.

Atas ialah kandungan terperinci Bilakah Tanda Kurung Penting dalam Fungsi Python dan 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