⚡ 60 segundos
classes
@staticmethod vs @classmethod: quando usar cada um
staticmethod não recebe self nem cls, classmethod recebe cls. Use staticmethod para utilitários e classmethod para construtores alternativos.
staticmethod.py
class Temperatura:
def __init__(self, celsius):
self.celsius = celsius
@classmethod
def de_fahrenheit(cls, f):
return cls((f - 32) * 5 / 9)
@staticmethod
def ponto_ebulicao():
return 100
t = Temperatura.de_fahrenheit(212)
print(t.celsius) # 100.0
print(Temperatura.ponto_ebulicao()) # 100