Statische Methoden benötigen keine Referenz auf eine Instanz!
Statische Methoden definiert man, wenn man zeigen will, dass die Methode nicht vom Zustand einer Instanz abhängt.
Prinzipiell könnte man eine statische Methode auch außerhalb einer Klasse definieren, aber dann könnte man sie nicht in einer erbenden Klasse überlagern!
class Robot:
@staticmethod
def hi():
print("Hi")
x = Robot()
Robot.hi()
x.hi()
Hi
Hi
Output
Ohne die Dekoration mit @staticmethod
würde es bei „x.hi()“ zu einer Ausnahme kommen