Variabili di classe statiche in Python

Lakshay Kapoor 30 gennaio 2023
  1. Usa il staticmethod() per definire le variabili statiche in Python
  2. Usa il @staticmethod per definire le variabili statiche in Python
Variabili di classe 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 avatar Lakshay Kapoor avatar

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

Articolo correlato - Python Class