@ Python의 기호
Rohan Timalsina
2023년6월21일
Python에서 @
기호의 가장 일반적인 사용 사례는 데코레이터입니다. 데코레이터를 사용하면 함수 또는 클래스의 동작을 변경할 수 있습니다.
@
기호는 Python에서 행렬을 곱할 수 있으므로 수학 연산자로도 사용할 수 있습니다. 이 튜토리얼은 Python의 @
기호를 사용하는 방법을 알려줍니다.
Python의 데코레이터에서 @
기호 사용
데코레이터는 함수를 인수로 받아들이고 일부 기능을 추가하고 수정된 함수를 반환하는 함수입니다.
예를 들어 다음 코드를 참조하십시오.
def decorator(func):
return func
@decorator
def some_func():
pass
이는 아래 코드와 동일합니다.
def decorator(func):
return func
def some_func():
pass
some_func = decorator(some_func)
데코레이터는 원래 함수의 스크립트를 변경하지 않고 원래 함수를 수정합니다.
위의 코드 스니펫의 실제 예를 살펴보겠습니다.
def message(func):
def wrapper():
print("Hello Decorator")
func()
return wrapper
def myfunc():
print("Hello World")
@
기호는 데코레이터 함수의 이름과 함께 사용됩니다. 꾸밀 함수의 맨 위에 작성해야 합니다.
@message
def myfunc():
print("Hello World")
myfunc()
출력:
Hello Decorator
Hello World
위의 데코레이터 예제는 이 코드와 동일한 작업을 수행합니다.
def myfunc():
print("Hello World")
myfunc = message(myfunc)
myfunc()
출력:
Hello Decorator
Hello World
Python에서 일반적으로 사용되는 데코레이터는 @property
, @classmethod
및 @staticmethod
입니다.
Python에서 @
기호를 사용하여 행렬 곱하기
Python 3.5부터 @
기호를 연산자로 사용하여 Python에서 행렬 곱셈을 수행할 수도 있습니다.
다음 예제는 Python에서 곱셈 행렬을 간단하게 구현한 것입니다.
class Mat(list):
def __matmul__(self, B):
A = self
return Mat(
[
[
sum(A[i][k] * B[k][j] for k in range(len(B)))
for j in range(len(B[0]))
]
for i in range(len(A))
]
)
A = Mat([[2, 5], [6, 4]])
B = Mat([[5, 2], [3, 5]])
print(A @ B)
출력:
[[25, 29], [42, 32]]
그게 다야. Python의 @
기호는 데코레이터와 행렬 곱셈에 사용됩니다.
이제 파이썬에서 @
기호가 무엇을 하는지 이해해야 합니다. 이 튜토리얼이 도움이 되었기를 바랍니다.
작가: Rohan Timalsina