Sovrascrivere in Python: complicato.  Pericoloso.  Potente |  di Marcin Kozak |  Aprile 2024

 | Intelligenza-Artificiale

PROGRAMMAZIONE PYTHON

Sebbene la sovrascrittura degli oggetti sia una tipica tecnica di codifica Python, può portare a effetti inaspettati. Devi sapere come usarlo per sfruttare i suoi punti di forza.

Sovrascrittura in Python: non inserire senza riconsiderazione.  Può essere pericoloso.
Sovrascrivere in Python può essere pericoloso: non entrare senza riconsiderazione. fotografato da Raúl Najera SU Unsplash

Ho sovrascritto molti oggetti diversi in Python. Se hai trascorso la tua parte di ore a programmare in Python, lo hai fatto anche tu. Questo perché, almeno in Python, la sovrascrittura degli oggetti è al centro del linguaggio.

Ho sovrascritto variabili ma anche funzioni, classi e metodi di classe, persino eccezioni:

E in effetti, distingueremo tra variabili di sovrascrittura e callable. La differenza tra questi due processi è in realtà piuttosto significativa, essendo quest'ultimo più complicato. E anche se il nostro focus è sulla sovrascrittura dei callable, poiché è una tecnica più avanzata, discuteremo anche della sovrascrittura delle variabili, poiché offre un buon punto di partenza per la nostra discussione.

Python ti consente di sovrascrivere quasi tutto. Quasi, quindi non tutto: prova a sovrascrivere il file in parola chiave, ad esempio, e fallirai (a meno che tu non voglia modificare la grammatica della lingua stessa, ma non ne parliamo oggi). Ma oltre a queste poche eccezioni, puoi sovrascrivere tutto: che si tratti di una variabile, una funzione, una classe personalizzata, una classe incorporata, un'istanza di una classe, un metodo di classe, un'eccezione, una funzione lambda o parziale e simili.

Tieni presente che stiamo discutendo sovrascritturarelativo alla sostituzione o alla riassegnazione di oggetti in Python e non prevalenteun concetto di programmazione orientata agli oggetti che consente a una sottoclasse di definire la propria implementazione di un metodo ereditato da una superclasse. Inoltre, è fondamentale capire la differenza tra sovrascrittura, estendendo (ad esempio, aggiungendo un nuovo metodo a una classe), e sottoclasse (una forma di ereditarietà nella programmazione orientata agli oggetti).

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *