Python のファースト クラス関数

Fariba Laiq 2023年6月21日
  1. Python のファースト クラス関数のプロパティ
  2. Python のファースト クラス関数の例
Python のファースト クラス関数

ファーストクラス関数は、言語によってオブジェクトまたは変数として扱われる関数です。 それらを変数に割り当てるか、オブジェクトとして他の関数に渡すことができます。

Python はファーストクラス関数をサポートしています。

Python のファースト クラス関数のプロパティ

  • オブジェクト型のインスタンスです。
  • 変数に割り当てることができます。
  • 別の関数に引数として渡すことができます。
  • 関数を返すことができます。
  • ハッシュ テーブル、リスト、およびその他のデータ構造に格納できます。

Python のファースト クラス関数の例

オブジェクトとして機能

次のコードでは、関数 square() を変数 my_sq に割り当てています。 現在、my_sqsquare() と同じです。

変数に代入するときに名前を書いたときに、関数を呼び出しませんでした。 実際の関数を参照する関数 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
著者: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

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

関連記事 - Python Function