Come ridefinire una funzione in Python

October 26

Come ridefinire una funzione in Python


Si verificano situazioni in programmazione in cui è necessario ignorare il comportamento di una funzione built-in. Nel linguaggio di programmazione Python, i metodi di una classe possono sostituire i metodi predefiniti con codice diverso. Nella programmazione orientata agli oggetti, una classe è una definizione di un oggetto che definisce gli attributi di un oggetto come variabili di istanza e le funzioni che l'oggetto chiama come metodi. Per sostituire una funzione built-in in Python, creare una classe personalizzata che definisce un metodo con lo stesso nome come la funzione che si sta tentando di ignorare.

istruzione

1 Definire una classe personalizzata. Tipo "myClass classe:" per una classe del tutto nuova o "classe myClass (superClass):" per una sottoclasse, in cui si dovrebbe sostituire superClass con il nome di classe della classe che si desidera la classe di ereditare da. Una classe eredita tutte le variabili e metodi istanza è superclasse, anche se questi possono essere sostituiti.

2 Definire un metodo di classe con lo stesso nome di quello che si desidera sovrascrivere. Per esempio, si potrebbe desiderare di ignorare la funzione "init" di fare l'inizio personalizzato quando si crea un'istanza della nuova classe o di ignorare la funzione "Display" per visualizzare i dati dal classe in un modo personalizzato. Per sostituire entrambe queste funzioni, il codice può ora leggere:

myClass classe:

def __init__():

Display DEF ():

3 Programmare il codice personalizzato per i metodi della classe ignorata. Il codice è interamente a vostro scopo specifico, ma può leggere qualcosa di simile:

myClass classe:

def __init__(self,value):

self.data = valore

Display DEF (auto, valore):

self.data stampa

Qui la variabile auto passa l'istanza del vostro oggetto myClass al metodo della classe.