Variabili di classe statiche in Python
-
Usa il
staticmethod()
per definire le variabili statiche in Python -
Usa il
@staticmethod
per definire le variabili statiche in Python
Una variabile statica in Python è una variabile dichiarata all’interno di una classe definita ma non in un metodo. Questa variabile può essere chiamata tramite la classe all’interno della quale è definita ma non direttamente. Una variabile statica è anche chiamata variabile di classe. Queste variabili sono limitate alla classe, quindi non possono cambiare lo stato di un oggetto.
Questo tutorial dimostrerà diversi modi per definire le variabili statiche in Python.
Usa il staticmethod()
per definire le variabili statiche in Python
Il staticmethod()
in Python è una funzione incorporata usata per restituire una variabile statica per una data funzione.
Questo metodo è ora considerato un vecchio modo di definire una variabile statica in Python.
Esempio:
class StaticVar:
def random(text):
print(text)
print("This class will print random text.")
StaticVar.random = staticmethod(StaticVar.random)
StaticVar.random("This is a random class.")
Produzione:
This is a random class.
This class will print random text.
Qui, per prima cosa, creiamo una classe chiamata StaticVar
. Nel programma, dichiariamo una variabile chiamata random
come variabile statica al di fuori della classe utilizzando la funzione staticmethod()
. Con questo, possiamo chiamare il random()
direttamente usando la classe StaticVar
.
Usa il @staticmethod
per definire le variabili statiche in Python
@staticmethod
è un modo moderno e più utilizzato per definire una variabile statica. Il @staticmethod
è un decoratore integrato in Python. Un decoratore è un modello progettato in Python utilizzato per apportare una nuova funzionalità a un oggetto già esistente senza modificarne la struttura iniziale. Quindi, il decoratore @staticmethod
viene utilizzato per definire una variabile statica all’interno di una classe in Python.
Esempio:
class StaticVar:
@staticmethod
def random(text):
# show custom message
print(text)
print("This class will print random text.")
StaticVar.random("This is a random class.")
Produzione:
This is a random class.
This class will print random text.
Si noti che il decoratore @staticmethod
viene definito prima di definire la variabile statica random
. Per questo motivo, possiamo facilmente chiamare la variabile random
alla fine tramite la classe StaticVar
.
Si noti inoltre che, in entrambi i metodi, non utilizziamo l’argomento self
, che viene utilizzato per accedere agli attributi e ai metodi della funzione durante la definizione della variabile random
. È perché le variabili statiche non operano mai attraverso gli oggetti.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn