@-Symbol in Python

Rohan Timalsina 21 Juni 2023
  1. Verwenden Sie das @-Symbol in Decorators in Python
  2. Verwenden Sie das Symbol @, um Matrizen in Python zu multiplizieren
@-Symbol in Python

Der häufigste Anwendungsfall des @-Symbols in Python sind Decorators. Mit einem Decorator können Sie das Verhalten einer Funktion oder Klasse ändern.

Das Symbol @ kann auch als mathematischer Operator verwendet werden, da es in Python Matrizen multiplizieren kann. In diesem Tutorial lernen Sie, das Symbol @ von Python zu verwenden.

Verwenden Sie das @-Symbol in Decorators in Python

Ein Decorator ist eine Funktion, die eine Funktion als Argument akzeptiert, ihr einige Funktionalitäten hinzufügt und die modifizierte Funktion zurückgibt.

Sehen Sie sich beispielsweise den folgenden Code an.

def decorator(func):
    return func


@decorator
def some_func():
    pass

Dies entspricht dem folgenden Code.

def decorator(func):
    return func


def some_func():
    pass


some_func = decorator(some_func)

Ein Dekorateur modifiziert die ursprüngliche Funktion, ohne irgendein Skript in der ursprünglichen Funktion zu ändern.

Sehen wir uns ein praktisches Beispiel für das obige Code-Snippet an.

def message(func):
    def wrapper():
        print("Hello Decorator")
        func()

    return wrapper


def myfunc():
    print("Hello World")

Das Symbol @ wird mit dem Namen der Decorator-Funktion verwendet. Es sollte oben auf die Funktion geschrieben werden, die dekoriert werden soll.

@message
def myfunc():
    print("Hello World")


myfunc()

Ausgang:

Hello Decorator
Hello World

Das obige Decorator-Beispiel funktioniert genauso wie dieser Code.

def myfunc():
    print("Hello World")


myfunc = message(myfunc)
myfunc()

Ausgang:

Hello Decorator
Hello World

Einige häufig verwendete Decorators in Python sind @property, @classmethod und @staticmethod.

Verwenden Sie das Symbol @, um Matrizen in Python zu multiplizieren

Ab Python 3.5 kann das Symbol @ auch als Operator verwendet werden, um eine Matrixmultiplikation in Python durchzuführen.

Das folgende Beispiel ist eine einfache Implementierung der Multiplikation von Matrizen in 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)

Ausgang:

[[25, 29], [42, 32]]

Das ist es. Die @-Symbole in Python werden in Decorators und Matrixmultiplikationen verwendet.

Sie sollten jetzt verstehen, was das @-Symbol in Python bewirkt. Wir hoffen, dass Sie dieses Tutorial hilfreich finden.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Verwandter Artikel - Python Symbol