Metodo statico Python

TJ Lerias 13 luglio 2021
  1. Metodo statico Python
  2. Crea e usa un metodo statico Python
Metodo statico Python

Questo articolo mostra come creare e usare metodi statici in Python.

Metodo statico Python

Un metodo statico appartiene a una classe; tuttavia, non è vincolato all’oggetto di quella classe. Pertanto, può essere chiamato senza creare un’istanza della classe in cui risiede. Poiché i metodi statici non sono associati a un oggetto, non conosce le proprietà di una classe, quindi non può accedere o modificare le proprietà di la classe.

Crea e usa un metodo statico Python

Innanzitutto, creiamo un metodo di istanza in modo da poterlo differenziare da un metodo statico. Supponiamo di avere una classe Coffee con un metodo chiamato is_hot che accetta un intero come parametro. Restituisce True se l’intero dato è maggiore di 50 e False se è minore di 50.

class Coffee:
    def is_hot(self, temperature):
        return temperature > 50


coffee = Coffee()
print(coffee.is_hot(100))

Produzione:

True

Nell’esempio sopra, coffee, che è un’istanza della classe Coffee, è stata istanziata per poter chiamare il metodo is_hot.

Ora, trasformiamo is_hot in un metodo statico utilizzando il decoratore @staticmethod. È un decoratore integrato che viene utilizzato per definire un metodo come metodo statico.

class Coffee:
    @staticmethod
    def is_hot(temperature):
        return temperature > 50


print(Coffee.is_hot(100))

Produzione:

True

A differenza del metodo di istanza che abbiamo creato dall’esempio precedente, non è necessario passare self come parametro per i metodi statici e non è necessario creare un’istanza della classe per poter utilizzare un metodo statico . Puoi semplicemente utilizzare il processo direttamente.

In alternativa, la funzione staticmethod() può essere utilizzata nella creazione di un metodo statico. Questa è una funzione incorporata che prende una funzione come parametro e la restituisce come metodo statico.

class Coffee:
    def is_hot(temperature):
        return temperature > 50


Coffee.is_hot = staticmethod(Coffee.is_hot)
print(Coffee.is_hot(100))

Produzione:

True

I metodi statici sono utili quando si creano metodi di utilità che eseguono un’attività isolatamente poiché non è necessario accedere o modificare le proprietà di una classe; funziona solo con i dati passati negli argomenti.

In sintesi, possiamo creare un metodo statico utilizzando il decoratore @staticmethod o la funzione staticmethod(). Non è necessario disporre di un’istanza di una classe per chiamare un metodo statico; possiamo semplicemente chiamarlo direttamente.

Articolo correlato - Python Class