Python __str__ Esempio

Python __str__ Esempio
La funzione __STR__ in Python viene semplicemente utilizzata per restituire l'output delle funzioni di Python in un formato di stringa. Questa funzione è utilizzata principalmente con le funzioni definite dall'utente poiché le loro uscite non sono generalmente nel formato della stringa. Per una comprensione più facile di tali output, devono essere convertiti in formato stringa. Tuttavia, per le classi definite dall'utente, è necessario implementare prima questa funzione. Inoltre, un'altra funzione nota come funzione __Repr__ viene sempre chiamata ogni volta che si chiama la funzione __STR__. Pertanto, è possibile definire entrambe queste funzioni, o almeno, è necessario definire la funzione __Repr__. Puoi leggere completamente questo articolo per comprendere l'uso di questa funzione in Python.

Esempi di __str__ in Python in Windows 10

Di seguito sono riportati alcuni dei diversi usi della funzione __STR__ di Python. Passando a fondo questi esempi, capirai come la funzionalità di questa funzione differisce tra le classi predefinite e definite dall'utente.

Esempio 1

In questo esempio, volevamo usare una classe Python predefinita o predefinita, i.e., DateTime, con la funzione __STR__. Qui, vorremmo affermare che per le classi predefinite o predefinite, tutte queste funzioni sono implementate per impostazione predefinita. Non devi definirli manualmente. Il codice che abbiamo scritto per dimostrare questo esempio è il seguente:

In questo codice Python, abbiamo importato per la prima volta il valore predefinito "appuntamento" classe. Dopodiché, abbiamo dichiarato una variabile denominata "attuale"E assegnato ad esso il valore del"appuntamento.Ora()"Funzione di"appuntamento"Classe Python. Questa funzione restituisce la data e l'ora del sistema corrente. Successivamente, volevamo stampare il valore della funzione __STR__ seguita dal valore della funzione __Repr__.

L'output prodotto a seguito dell'esecuzione di questo script Python è mostrato nell'immagine seguente:

Sappiamo che le funzioni __str__ e __repr__ sono state implementate per impostazione predefinita poiché stavamo usando una classe predefinita, i.e., appuntamento. La funzione __STR__ ha semplicemente restituito l'output di "appuntamento.Ora()"Funzione sotto forma di una stringa. Al contrario, la funzione __Repr__ ha restituito l'output del "appuntamento.Ora()"Funzione in un formato usando il quale questo output può essere ricostruito. Il punto da notare qui è che questi risultati si basano semplicemente sulle implementazioni predefinite delle funzioni __str__ e __Repr__ di Python.

Esempio 2

In questo esempio, volevamo utilizzare la funzione __STR__ con una classe definita dall'utente in modo tale che le funzioni __STR__ e __Repr__ non fossero definite. Il codice che abbiamo scritto per dimostrare questo esempio è il seguente:

In questo codice Python, abbiamo dichiarato una classe chiamata "Dipendente". Quindi, abbiamo inizializzato i suoi attributi che erano EMP_Name ed EMP_ID. Dopodiché, abbiamo creato un oggetto di "Dipendente"Classe, io.e., "E"E con l'aiuto di questo oggetto, abbiamo creato un'istanza dei dipendenti con EMP_NAME"Hasan"Ed emp_id"1". Infine, abbiamo semplicemente stampato il valore della funzione __STR__ seguita dal valore della funzione __Repr__. Vorremmo menzionare di nuovo che non abbiamo ancora implementato nessuna di queste funzioni.

L'output prodotto a seguito dell'esecuzione di questo script Python è mostrato nell'immagine seguente:

Dato che abbiamo affrontato una classe definita dall'utente in questo esempio, avremmo dovuto implementare noi stessi le funzioni __STR__ e __Repr__. Tuttavia, non lo abbiamo fatto, motivo per cui abbiamo semplicemente ricevuto l'indirizzo del "Dipendente"Oggetto come il nostro output.

Esempio 3

In questo esempio, volevamo utilizzare la funzione __STR__ con una classe definita dall'utente in modo che venga definita solo la funzione __Repr__ e non la funzione __STR__. Il codice che abbiamo scritto per dimostrare questo esempio è il seguente:

In questo codice Python, abbiamo dichiarato una classe chiamata "Dipendente". Quindi, abbiamo inizializzato i suoi attributi che erano EMP_Name ed EMP_ID. Abbiamo anche definito la funzione __Repr__ e questa definizione è personalizzata in base alla nostra scelta. Dopodiché, abbiamo creato un oggetto di "Dipendente"Classe, io.e., "E"E con l'aiuto di questo oggetto, abbiamo creato un'istanza dei dipendenti con EMP_NAME"Hasan"Ed emp_id"1". Infine, abbiamo semplicemente stampato il valore della funzione __STR__ seguita dal valore della funzione __Repr__.

L'output prodotto a seguito dell'esecuzione di questo script Python è mostrato nell'immagine seguente:

Poiché abbiamo definito la funzione __Repr__ nel nostro codice, la stessa definizione è stata utilizzata per produrre l'output di entrambe le funzioni __Repr__ e __STR__.

Esempio 4

In questo esempio, volevamo utilizzare la funzione __STR__ con una classe definita dall'utente in un modo che sono state definite entrambe le funzioni __Repr__ e __STR__. Il codice che abbiamo scritto per dimostrare questo esempio è il seguente:

In questo codice Python, abbiamo dichiarato una classe chiamata "Dipendente". Quindi, abbiamo inizializzato i suoi attributi che erano EMP_Name ed EMP_ID. Abbiamo anche definito le funzioni __Repr__ e __STR__ e queste definizioni sono personalizzate in base alla nostra scelta. La funzione __STR__ visualizzerà l'output sotto forma di un'istruzione completa, mentre la funzione __Repr__ restituirà semplicemente i valori di output della stringa nel nostro caso. Dopodiché, abbiamo creato un oggetto di "Dipendente"Classe, io.e., "E" e con l'aiuto di questo oggetto, abbiamo creato un'istanza dei dipendenti con EMP_NAME "Hasan"Ed emp_id"1". Infine, abbiamo semplicemente stampato il valore della funzione __STR__ seguita dal valore della funzione __Repr__.

L'output prodotto a seguito dell'esecuzione di questo script Python è mostrato nell'immagine seguente:

Poiché entrambe le funzioni __str__ e __repr__ sono state definite nel nostro codice e le definizioni di entrambe queste funzioni differivano l'una dall'altra, le uscite di queste due funzioni sono diverse.

Esempio 5

In questo esempio, volevamo utilizzare la funzione __STR__ con una classe definita dall'utente in un modo che verrà definita solo la funzione __STR__. Il codice che abbiamo scritto per dimostrare questo esempio è il seguente:

In questo codice Python, abbiamo dichiarato una classe chiamata "Dipendente". Quindi, abbiamo inizializzato i suoi attributi che erano EMP_Name ed EMP_ID. Abbiamo anche definito la funzione __STR__ e questa definizione è personalizzata in base alla nostra scelta. Dopodiché, abbiamo creato un oggetto di "Dipendente" classe, "E", E con l'aiuto di questo oggetto, abbiamo creato un'istanza dei dipendenti con EMP_Name"Hasan"Ed emp_id"1". Infine, abbiamo semplicemente stampato il valore della funzione __STR__ seguita dal valore della funzione __Repr__.

L'output prodotto a seguito dell'esecuzione di questo script Python è mostrato nell'immagine seguente:

Dato che avevamo definito solo la funzione __STR__ nel nostro codice, il suo valore è stato stampato correttamente. Mentre per la funzione __Repr__, abbiamo ricevuto di nuovo l'indirizzo del nostro "Dipendente"Oggetto poiché questa funzione non è stata definita nel nostro codice.

Conclusione

In questa guida, ti abbiamo introdotto per la prima volta alle funzioni __Str__ e __Repr__ di Python. Per comprendere bene il funzionamento di queste funzioni, abbiamo condiviso cinque diversi esempi con te in cui ti abbiamo mostrato in che modo l'implementazione di una o entrambe queste funzioni influisce sull'output del tuo codice Python. L'ultima cosa che vorremmo ricordarti è se usi queste funzioni con una classe predefinita, non dovrai definire esplicitamente queste funzioni. Tuttavia, per le classi definite dall'utente, è obbligatorio definire queste funzioni.