@ Símbolo en Python
El caso de uso más común del símbolo @
en Python es en los decoradores. Un decorador te permite cambiar el comportamiento de una función o clase.
El símbolo @
también se puede utilizar como operador matemático, ya que puede multiplicar matrices en Python. Este tutorial le enseñará a usar el símbolo @
de Python.
Use el símbolo @
en decoradores en Python
Un decorador es una función que acepta una función como argumento, le agrega algunas funcionalidades y devuelve la función modificada.
Por ejemplo, vea el siguiente código.
def decorator(func):
return func
@decorator
def some_func():
pass
Esto es equivalente al siguiente código.
def decorator(func):
return func
def some_func():
pass
some_func = decorator(some_func)
Un decorador modifica la función original sin alterar ningún guión en la función original.
Veamos un ejemplo práctico del fragmento de código anterior.
def message(func):
def wrapper():
print("Hello Decorator")
func()
return wrapper
def myfunc():
print("Hello World")
El símbolo @
se utiliza con el nombre de la función decoradora. Debe escribirse en la parte superior de la función que se decorará.
@message
def myfunc():
print("Hello World")
myfunc()
Producción :
Hello Decorator
Hello World
El ejemplo del decorador anterior hace el mismo trabajo que este código.
def myfunc():
print("Hello World")
myfunc = message(myfunc)
myfunc()
Producción :
Hello Decorator
Hello World
Algunos decoradores de uso común en Python son @property
, @classmethod
y @staticmethod
.
Usa el símbolo @
para multiplicar matrices en Python
Desde Python 3.5, el símbolo @
también se puede usar como operador para realizar la multiplicación de matrices en Python.
El siguiente ejemplo es una implementación simple de multiplicar matrices en 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)
Producción :
[[25, 29], [42, 32]]
Eso es todo. Los símbolos @
en Python se utilizan en decoradores y multiplicaciones de matrices.
Ahora debería entender lo que hace el símbolo @
en Python. Esperamos que este tutorial le resulte útil.