Menu
Coddy logo textTech

Decoratore di metodo statico

Fa parte della sezione Programmazione orientata agli oggetti del percorso Python di Coddy. Lezione 11 di 64.

Il decoratore @staticmethod crea metodi che non hanno bisogno di self né della classe. Funzionano come normali funzioni, ma appartengono alla classe.

Ecco un esempio di una classe con metodi statici:

class MathHelper:
    @staticmethod
    def add(a, b):
        return a + b
    
    @staticmethod
    def is_even(number):
        return number % 2 == 0

Chiama i metodi statici usando il nome della classe:

result = MathHelper.add(5, 3)
print(result)

check = MathHelper.is_even(10)
print(check)

Puoi anche richiamarli da un oggetto:

helper = MathHelper()
result2 = helper.add(2, 4)
print(result2)

Output:

8
True
6

I metodi statici non accedono ai dati dell’istanza o della classe:

class Calculator:
    brand = "Python Calc"
    
    def __init__(self, owner):
        self.owner = owner
    
    @staticmethod
    def multiply(x, y):
        # Non può accedere a self.owner o Calculator.brand
        return x * y

Punto chiave: usa @staticmethod quando ti serve una funzione correlata alla classe, ma che non deve accedere ai dati dell'istanza (self) o della classe. Non è necessario il parametro self.

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Python online