Avatar ·

Wozu braucht man @staticmethod in Python

📁 Dekorateur, Methode, Python, KI

Es gibt eine Klasse printer. Sie hat 2 Methoden, die dasselbe tun. Der Unterschied besteht darin, dass eine Methode den Decorator @staticmethod hat und die andere nicht. Aber ich kann beide Methoden aufrufen, ohne eine Instanz der Klasse zu erstellen.

class printer():    ''' Test @staticmethod '''    def not_static_print(self, text = 'Example Text'):        print(text)    @staticmethod    def static_print(text = 'Example Text'):        print(text)                    
Avatar ·

Streng genommen gibt es mehrere Interpreter der Programmiersprache Python, die in verschiedenen Programmiersprachen geschrieben sind.

Die Referenzimplementierung ist die Implementierung des Interpreters in C - CPython.

Es gibt auch eine Implementierung des Interpreters in Java (Jython), in .Net (IronPython) und sogar in Python selbst (PyPy).

In den meisten Fällen reicht die Referenzimplementierung aus.

Verwechseln Sie CPython und Cython nicht - das sind verschiedene Dinge. Ersteres ist ein Interpreter, letzteres eine Erweiterung für die Sprache. Da CPython in C geschrieben ist, können darin C-spezifische Strukturen verwendet werden. Damit beschäftigt sich das Projekt Cython - in Python-Code kann man eine Struktur aus der Sprache C deklarieren und dann damit arbeiten. Dies wird übrigens äußerst selten benötigt und in sehr spezifischen Projekten verwendet.

Programme in Python werden über

Anmelden um eine Antwort zu hinterlassen

Blogs