Nwlapcug.com


Funzioni statiche in Python

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

Funzioni

Un programmatore Python principiante tende a produrre ciò che è noto come "spaghetti code." Egli tipi fuori tutto il codice per un programma, ma è ripetitivo, non organizzata e difficile da modificare o mantenere. Come si impara di più sulla programmazione, comincia a utilizzare funzioni, noti anche come metodi, per organizzare meglio il codice. Ogni funzione contiene il codice sorgente necessario per eseguire un set specifico di operazioni. Ogni volta che devi eseguire quel segmento di codice, è possibile utilizzare il nome della funzione creata.

Classi

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

Classe contro statica

Le funzioni all'interno di una classe possono essere funzioni statiche o funzioni di classe. Per utilizzare una funzione di classe, è necessario creare un'istanza di un oggetto di quella classe, quindi chiamare il metodo tramite l'oggetto stesso. Funzioni statiche non richiedono di creare un oggetto della classe al fine di chiamare ed eseguirli.

Rendendo la funzione statica

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