ホームページ  >  記事  >  バックエンド開発  >  Python 関数の概要: 関数とスーパー関数の例

Python 関数の概要: 関数とスーパー関数の例

WBOY
WBOYオリジナル
2023-11-04 16:27:261025ブラウズ

Python 関数の概要: 関数とスーパー関数の例

Python 関数の紹介: super 関数の関数と例

super() 関数は Python で一般的に使用される組み込み関数であり、主に親クラス (スーパークラス) のメソッド。 super() 関数を使用して、親クラスでオーバーライドされたメソッドをサブクラスで呼び出します。この記事では、スーパー関数の機能と例を詳しく紹介し、具体的なコード例も示します。

  1. スーパー関数の関数

Python では、親クラスの一部のメソッドをサブクラスで書き換える必要があることがよくあります。この場合、サブクラスで元の親クラスのメソッドを呼び出したい場合は、super() 関数を使用する必要があります。 super() 関数を使用すると、次の機能を実現できます:

(1) サブクラスでメソッドを書き換えるのではなく、親クラスでメソッドを呼び出します;

(2) 無限再帰問題を回避できますサブクラスの継承関係により

(3) 親クラスに定義されていないメソッドが実行される可能性があります。

  1. スーパー関数の使用法

super() 関数は 2 つの方法で使用できます。1 つは直接呼び出す方法、もう 1 つは 2 つの関数を使用して呼び出す方法です。パラメーター。

(1) 直接呼び出し

super() 関数を直接呼び出す場合は、パラメータとしてサブクラスとサブクラスのインスタンスを指定する必要があります。例:

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

上記のコードでは、Student クラスは Person クラスの __init__ メソッドをオーバーライドします。 super() 関数を使用すると、親クラスの __init__ メソッドを簡単に呼び出すことができるため、コードの冗長性やエラーの可能性を回避できます。

(2) 2 つのパラメータを使用して呼び出す

親クラスの非コンストラクタ メソッド (通常のメソッドなど) を呼び出す場合は、2 つのパラメータを使用して呼び出す必要があります。スーパー( )関数。例:

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 クラスは Person クラスの Say_hello メソッドをオーバーライドします。 super() 関数を使用する場合、2 つのパラメーターを指定する必要があります。最初のパラメーターはサブクラスの名前で、2 番目のパラメーターはサブクラスのインスタンスです。このようにして、親クラスのメソッドをサブクラスで呼び出すことができるため、コードの冗長性やエラーの可能性が回避されます。

  1. スーパー関数の例

super() 関数の使用法をよりよく理解し、習得するために、いくつかの具体的なコード例を以下に示します。

(1) 親クラスの __init__ メソッドを呼び出す

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()

この例では、 person クラスと Student クラスを定義します。 Student クラスの __init__ メソッドでは、親クラス Person の __init__ メソッドを呼び出しますが、この機能は super() 関数を使用して簡単に実現できます。最後に、get_info メソッドを呼び出して生徒の情報を出力します。

(2) 親クラスの通常のメソッドを呼び出す

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()

この例では、person クラスと Student クラスを定義します。 Student クラスでは、Person クラスのsay_hello メソッドをオーバーライドし、super() 関数を使用して親クラス Person のsay_hello メソッドを呼び出します。最後に、say_hello メソッドを呼び出して生徒の挨拶を出力します。

  1. 概要

super() 関数は Python で一般的に使用される組み込み関数で、主に親クラスのメソッドを呼び出すために使用されます。 super() 関数を使用すると、コードの冗長性とエラーの可能性を回避できます。サブクラスで親クラスのメソッドをオーバーライドする場合、super() 関数を使用すると、親クラスのメソッドをより簡単に呼び出すことができます。同時に、 super() 関数を使用する場合、継承関係によって引き起こされる無限再帰の問題を回避するために、2 つのパラメーターの特定の値を指定する必要があることにも注意してください。

以上がPython 関数の概要: 関数とスーパー関数の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。