Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengenalan kepada fungsi Python: fungsi dan contoh fungsi super

Pengenalan kepada fungsi Python: fungsi dan contoh fungsi super

WBOY
WBOYasal
2023-11-04 16:27:261065semak imbas

Pengenalan kepada fungsi Python: fungsi dan contoh fungsi super

Pengenalan kepada fungsi Python: fungsi dan contoh fungsi super

Fungsi super() ialah fungsi terbina dalam yang biasa digunakan dalam Python, terutamanya digunakan untuk memanggil kaedah kelas induk (kelas super). Gunakan fungsi super() untuk memanggil kaedah yang telah ditindih dalam kelas induk dalam subkelas. Artikel ini akan memperkenalkan fungsi dan contoh fungsi super secara terperinci, dan juga menyediakan contoh kod khusus untuk rujukan anda.

  1. Fungsi super function

Dalam Python, kita selalunya perlu menulis semula beberapa kaedah kelas induk dalam subkelas. Dalam kes ini, jika kita ingin memanggil kaedah kelas induk asal dalam subkelas, kita perlu menggunakan fungsi super(). Menggunakan fungsi super() boleh mencapai fungsi berikut:

(1) Memanggil kaedah dalam kelas induk dan bukannya menulis semulanya dalam subkelas

(2) Elakkan masalah tak terhingga yang disebabkan oleh perhubungan pewarisan masalah Rekursi subkelas;

(3) Anda boleh melaksanakan kaedah yang tidak ditakrifkan dalam kelas induk.

  1. Penggunaan fungsi super

fungsi super() mempunyai dua cara penggunaan: satu ialah memanggilnya secara terus, satu lagi memanggilnya dengan dua parameter.

(1) Panggilan terus

Apabila memanggil fungsi super() secara langsung, anda perlu menentukan contoh subkelas dan subkelas sebagai parameter. Contohnya:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

Dalam kod di atas, kelas Pelajar mengatasi kaedah __init__ kelas Orang. Dengan menggunakan fungsi super(), kita boleh memanggil kaedah __init__ kelas induk dengan mudah, dengan itu mengelakkan redundansi kod dan kemungkinan ralat.

(2) Panggilan dengan dua parameter

Jika anda ingin memanggil kaedah bukan pembina (seperti kaedah biasa) kelas induk, anda perlu memanggil fungsi super() dengan dua parameter. Contohnya:

class Person:
    def say_hello(self):
        print("Hello, I'm a person.")

class Student(Person):
    def say_hello(self):
        super(Student, self).say_hello()
        print("I'm a student.")

Dalam kod di atas, kelas Pelajar mengatasi kaedah say_hello kelas Orang. Apabila menggunakan fungsi super(), anda perlu menentukan dua parameter: parameter pertama ialah nama subkelas, dan parameter kedua ialah contoh subkelas. Dengan cara ini, kaedah kelas induk boleh dipanggil dalam subkelas, dengan itu mengelakkan kemungkinan redundansi dan ralat kod.

  1. Contoh fungsi super

Untuk lebih memahami dan menguasai penggunaan fungsi super(), beberapa contoh kod khusus disediakan di bawah.

(1) Panggil kaedah __init__ kelas induk

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

    def get_info(self):
        print("Name: {} Age: {} Grade: {}".format(self.name, self.age, self.grade))

student = Student("Lucy", 18, "Grade 10")
student.get_info()

Dalam contoh ini, kami mentakrifkan kelas Orang dan kelas Pelajar. Dalam kaedah __init__ kelas Pelajar, kami memanggil kaedah __init__ kelas induk Orang Fungsi ini boleh dicapai dengan mudah menggunakan fungsi super(). Akhir sekali, maklumat pelajar dikeluarkan dengan memanggil kaedah get_info.

(2) Panggil kaedah biasa kelas induk

class Person:
    def say_hello(self):
        print("Hello, I'm a person.")

class Student(Person):
    def say_hello(self):
        super(Student, self).say_hello()
        print("I'm a student.")

student = Student()
student.say_hello()

Dalam contoh ini, kami mentakrifkan kelas Orang dan kelas Pelajar. Dalam kelas Pelajar, kami mengatasi kaedah say_hello kelas Person dan menggunakan fungsi super() untuk memanggil kaedah say_hello bagi kelas induk Person. Akhir sekali, sapaan pelajar dikeluarkan dengan memanggil kaedah say_hello. Fungsi

  1. Summary

super() ialah fungsi terbina dalam yang biasa digunakan dalam Python, terutamanya digunakan untuk memanggil kaedah kelas induk. Dengan menggunakan fungsi super(), kita boleh mengelakkan redundansi kod dan kemungkinan ralat. Apabila kita mengatasi kaedah kelas induk dalam subkelas, menggunakan fungsi super() membolehkan kita memanggil kaedah kelas induk dengan lebih mudah. Pada masa yang sama, kita juga harus ambil perhatian bahawa apabila menggunakan fungsi super(), nilai khusus kedua-dua parameter perlu dinyatakan untuk mengelakkan masalah rekursi tak terhingga yang disebabkan oleh hubungan warisan.

Atas ialah kandungan terperinci Pengenalan kepada fungsi Python: fungsi dan contoh fungsi super. 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