Python 3において、「at」(@)記号は何をしますか?

PYTHON3 チュートリアル

Python 3において、@(アット)記号は主に2つの用途で使用されます。

1. デコレータ

最も一般的な用途は、デコレータとしての使用です。デコレータは、関数やメソッド、クラスに追加の機能を付与するための構文です。@デコレータ名の形式で関数やメソッドの前に書きます。

例:

    
def my_decorator(func):
    def wrapper():
        print("デコレータが実行されました。")
        return func()
    return wrapper

@my_decorator
def say_hello():
    print("こんにちは!")

say_hello()
    

この場合、say_hello()を呼び出すと、最初にデコレータが呼ばれ、次に元の関数が実行されます。出力は次のようになります。


デコレータが実行されました。
こんにちは!
    

2. 行列乗算(Python 3.5以降)

Python 3.5から、@記号は行列乗算演算子としても使用されています。@は、2つのNumPyのarraymatrixオブジェクトに対して行列の積を計算します。

例:

    
import numpy as np

# 2x2の行列を定義
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# 行列の積
C = A @ B
print(C)
    

出力:


[[19 22]
 [43 50]]
    

@記号は、通常の要素ごとの積とは異なり、行列の数学的な乗算を行います。

まとめ

  • @記号はPythonでは主にデコレータとして使われ、関数やメソッドに追加の機能を付与します。
  • Python 3.5以降では、行列乗算演算子としても使用され、行列の積を計算します。
購読
通知
0 Comments
Inline Feedbacks
View all comments