https://docs.python.org/3/library/functions.html
The @staticmethod decorator transforms a method into a static method. A static method does not receive an implicit first argument (self).
# Syntax.
class C:
@staticmethod
def f(arg1, arg2, ...): # no 'self'
statements
# Calling: C.f() or C().f()
def regular_function(argument_list):
statements
class C:
method = staticmethod(regular_function)
class Poly:
def __init__(self, c=0, n=0):
self.data = (n+1) * [0]
self.data[-1] = c
@staticmethod
def gcd(a, b):
if a % b == 0:
return b
else:
return Poly.gcd(b, a % b)
assert Poly.gcd(3, 5) == 1
assert Poly.gcd(4, 6) == 2