Metodo statico Python
In questo breve post, impareremo come creare e utilizzare un metodo statico in Python. Esamineremo anche quali vantaggi e svantaggi offrono i metodi statici rispetto ai metodi di istanza. Cominciamo.
Cos’è un metodo statico?
I metodi statici in Python sono estremamente simili ai metodi di livello di classe, con la differenza che un metodo statico è legato a una classe piuttosto che agli oggetti per quella classe. Ciò significa che un metodo statico può essere chiamato senza un oggetto per quella classe. Ciò significa anche che i metodi statici non possono modificare lo stato di un oggetto poiché non sono ad esso vincolati. Vediamo come possiamo creare metodi statici in Python.
Creazione di metodi statici in Python
I metodi statici Python possono essere creati in due modi. Vediamo ciascuno dei modi qui:
Utilizzando staticmethod()
Passiamo direttamente al frammento di codice di esempio su come utilizzare l’approccio staticmethod()
:
class Calculator:
def addNumbers(x, y):
return x + y
# crea il metodo statico addNumbers
Calculator.addNumbers = staticmethod(Calculator.addNumbers)
print('Product:', Calculator.addNumbers(15, 110))
Nota che abbiamo chiamato addNumbers che abbiamo creato senza un oggetto. Quando eseguiamo questo programma, ecco l’output che otterremo: Non ci sono state sorprese. Questo approccio è controllato poiché in ogni punto è possibile creare un metodo statico da un metodo di classe. Vediamo un altro approccio con lo stesso esempio qui.
Utilizzando @staticmethod
Questo è un modo più sottile per creare un metodo statico poiché non dobbiamo fare affidamento su una definizione di istruzione di un metodo come metodo di classe e renderlo statico in ogni punto in cui lo rendiamo statico. Utilizziamo questa annotazione in un frammento di codice:
class Calculator:
# crea il metodo statico addNumbers
@staticmethod
def addNumbers(x, y):
return x + y
print('Product:', Calculator.addNumbers(15, 110))
Quando eseguiamo questo programma, ecco l’output che otterremo: Questo era effettivamente un modo molto migliore per creare un metodo statico poiché l’intenzione di mantenere il metodo statico è chiara non appena lo creiamo e lo contrassegniamo con l’annotazione
@staticmethod
.
Vantaggi del metodo statico in Python
I metodi statici hanno un caso d’uso molto chiaro. Quando abbiamo bisogno di una funzionalità non relativa a un oggetto ma relativa all’intera classe, creiamo un metodo statico. Questo è molto vantaggioso quando dobbiamo creare metodi di utilità poiché di solito non sono legati al ciclo di vita di un oggetto. Infine, nota che in un metodo statico non è necessario passare self
come primo argomento. Riferimento API: Documentazione di Python
Source:
https://www.digitalocean.com/community/tutorials/python-static-method