Python のファースト クラス関数
ファーストクラス関数は、言語によってオブジェクトまたは変数として扱われる関数です。 それらを変数に割り当てるか、オブジェクトとして他の関数に渡すことができます。
Python はファーストクラス関数をサポートしています。
Python のファースト クラス関数のプロパティ
- オブジェクト型のインスタンスです。
- 変数に割り当てることができます。
- 別の関数に引数として渡すことができます。
- 関数を返すことができます。
- ハッシュ テーブル、リスト、およびその他のデータ構造に格納できます。
Python のファースト クラス関数の例
オブジェクトとして機能
次のコードでは、関数 square() を変数 my_sq に割り当てています。 現在、my_sq は square() と同じです。
変数に代入するときに名前を書いたときに、関数を呼び出しませんでした。 実際の関数を参照する関数 my_sq() を呼び出します。
出力として、渡された数値の 2 乗を取得します。
コード例:
# Python 3.x def square(x): return x * x my_sq = square result = my_sq(2) print(result) 出力:
#Python 3.x 4 関数を引数として別の関数に渡す
次のコードでは、オブジェクトを引数として渡すのと同じように、関数 operation() への引数として関数 square() を渡しました。
そのメソッドでは、渡された関数をオブジェクト func に割り当て、func() を呼び出して関数 square() を呼び出します。これは、func() がバックエンドで square() を参照しているためです。 .
関数を引数として受け取る関数を高階関数と呼びます。 ここで、operation() は高階関数です。
コード例:
# Python 3.x def square(x): return x * x def operation(func): result = func(2) print(result) operation(square) 出力:
#Python 3.x 4 関数から関数を返す
関数はオブジェクトであるため、関数を別の関数から返すことができます。 次のコードでは、関数 square() を返す関数 operation() を作成しました。
返された関数をオブジェクト sq に保存しました。 ここで、sq はメソッド square() を参照します。
最後に、sq を介してメソッド square() を呼び出しました。
コード例:
# Python 3.x def operation(): def square(x): return x * x return square sq = operation() result = sq(2) print(result) 出力:
#Python 3.x 4 I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn