Funzioni statiche in Python

September 27

struttura orientata agli oggetti di Python consente ai programmatori di creare programmi sofisticati, ma a volte è più semplice lavorare con una funzione senza istanziare un oggetto di classe. Python consente di memorizzare le funzioni nei file di classe importabili, ma designarli come funzione "statico", così si può chiamare senza creare un oggetto.

funzioni

Un programmatore alle prime armi Python tende a produrre ciò che è noto come "spaghetti code". Egli tipi fuori tutto il codice di un programma, ma è ripetitivo, non organizzato, e difficile da modificare o mantenere. Mentre si impara di più sulla programmazione, comincia a utilizzare le funzioni, noto anche come metodi, per organizzare al meglio il codice. Ciascuna funzione contiene il codice sorgente necessario eseguire una serie di operazioni. Ogni volta che è necessario eseguire quel segmento di codice, è possibile utilizzare il nome della funzione che si è creato.

Classi

Python organizza il suo codice sorgente in strutture dati chiamate classi. Ogni classe può contenere qualsiasi numero di singole funzioni. Le classi possono essere utilizzate sia come una serie di piani per l'interprete Python per costruire oggetti funzionanti in modo indipendente, o come contenitore per i metodi che si utilizzano di frequente. Mettendo i metodi in un file di codice sorgente separato nella propria classe, è possibile importare che il codice nel progetto con una sola riga.

Classe Versus statico

Le funzioni all'interno di una classe possono essere sia funzioni statiche o funzioni di classe. Per usare una funzione di classe, è necessario istanziare un oggetto di quella classe, quindi chiamare il metodo attraverso l'oggetto stesso. funzioni statiche non richiedono di creare un oggetto della classe per chiamare ed eseguirli.

Fare funzione statica

Per impostazione predefinita, le funzioni all'interno di file di classe sono funzioni di classe. Digitando fuori "@staticmethod" sulla riga sopra la dichiarazione di una funzione, è possibile convertirlo in un metodo statico. Nessun altre differenze sintattiche sono a disposizione per dichiarare una funzione statica invece di dichiarare una funzione di classe. È possibile eseguire una funzione statica utilizzando il "classname.function ()" sintassi dove "nomeclasse" è il nome della classe in cui risiede il la funzione, e "funzione" è il nome del metodo.