Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの@演算子とは何ですか?


@記号は、Pythonでデコレータを定義するために使用されます。デコレータは、高階関数を呼び出すための単純な構文を提供します。定義上、デコレータは、別の関数を受け取り、明示的に変更せずに後者の関数の動作を拡張する関数です。

Pythonには2種類のデコレータがあります:

    関数デコレータ クラスデコレータ

Pythonのデコレータは、関数またはクラスを変更するために使用される呼び出し可能なPythonオブジェクトです。関数またはクラスへの参照がデコレータに渡され、デコレータは変更された関数またはクラスを返します。変更された関数またはクラスには通常、元の関数への呼び出しが含まれています。

@decorator
def f(argument):
….

fをdecorator(f)に置き換えます。f(argument)を呼び出すことは、decorator(f)(argument)と同等です。


  1. Pythonの名前空間とは何ですか?

    名前空間は、スコープを実装する方法です。 Pythonでは、各パッケージ、モジュール、クラス、関数、およびメソッド関数は、変数名が解決される「名前空間」を所有しています。関数、モジュール、またはパッケージが評価される(つまり、実行が開始される)と、名前空間が作成されます。それを「評価コンテキスト」と考えてください。関数などの実行が終了すると、名前空間は削除されます。変数は削除されます。さらに、名前がローカル名前空間にない場合に使用されるグローバル名前空間があります。 各変数名はローカル名前空間(関数の本体、モジュールなど)でチェックされ、次にグローバル名前空間でチェックされます。 変数は通

  2. Pythonの無名関数とは何ですか?

    Pythonでは、無名関数は名前なしで定義される関数です。通常の関数はdefキーワードを使用して定義されますが、Pythonでは無名関数はlambdaキーワードを使用して定義されます。したがって、無名関数はラムダ関数とも呼ばれます。 指定されたコードを実行すると、次の出力が得られます C:/Users/TutorialsPoint1/~.py [(13, -3), (4, 1), (1, 2), (9, 10)]