Python: __init__ NON è un costruttore: un approfondimento sulla creazione di oggetti Python |  di Mike Huls |  Novembre 2023

 | Intelligenza-Artificiale

Armeggiare con il costruttore di Python per creare classi veloci ed efficienti in termini di memoria

Come Python costruisce oggetti (immagine di ChatGPT)

Sapevi che il __init__ il metodo è non un costruttore? Ma se __init__ no creare l’oggetto, allora cosa fa? Come vengono creati gli oggetti in Python? Python ha anche un costruttore?

Lo scopo di questo articolo è quello di capire meglio come Python crea oggetti in modo che possiamo farlo manipolarlo per applicazioni utili.

Per prima cosa approfondiremo il modo in cui Python crea oggetti. Successivamente applicheremo queste conoscenze e discuteremo alcuni casi d’uso interessanti con alcuni esempi pratici. Codifichiamo!

In questa parte scopriremo cosa fa Python dietro le quinte quando crei un oggetto. Nella parte successiva prenderemo queste nuove conoscenze e le applicheremo nella parte 2.

Come creare un oggetto in Python?

Dovrebbe essere piuttosto semplice; crei semplicemente un’istanza di una classe. In alternativa potresti creare un nuovo tipo integrato come a str o un int. Nel codice seguente viene creata un’istanza di una classe base. Contiene solo un __init__ funzione e a say_hello metodo:

class SimpleObject:
greet_name:str

def __init__(self, name:str):
self.greet_name = name

def say_hello(self) -> None:
print(f"Hello {self.greet_name}!")

my_instance = SimpleObject(name="bob")
my_instance.say_hello()

Notare il __init__ metodo. Riceve a name parametro e ne memorizza il valore nel file greet_name attributo del SimpleObject esempio. Ciò consente alla nostra istanza di mantenere stato.

Ora sorge la domanda: per salvare lo Statodobbiamo avere qualcosa su cui salvare lo stato. Dove va __init__ ottenere l’oggetto da?

Quindi, __init__ è un costruttore?

La risposta: tecnicamente no. Costruttori in realtà creare il nuovo oggetto; IL __init__ il metodo è responsabile solo dell’impostazione di stato dell’oggetto. Riceve semplicemente valori attraverso i suoi parametri e li assegna agli attributi della classe come greet_name.

Fonte: towardsdatascience.com

Lascia un commento

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