The__repr__ in Python

The__repr__ in Python
Il metodo __repr __ () di Python produce una rappresentazione testuale o stringa di un'entità o di un oggetto. Questo processo viene definito ogni volta che viene invocato il metodo Rep () dell'entità. Puoi dire che il metodo "Rep" e "__repr__" possono essere usati in modo intercambiabile per lo stesso scopo. Il testo ripristinato deve essere una frase Python adeguata che sarebbe castoff per riassemblare l'entità se possibile. Una funzione "__str__" di Python fa lo stesso, ma c'è una leggera differenza tra le due funzioni. Il metodo __STR__ è progettato per produrre una versione leggibile dall'uomo, utile per il monitoraggio o la visualizzazione di informazioni sugli oggetti. Il metodo __Repr__, d'altra parte, è progettato per fornire un'immagine testuale "ufficiale" dell'oggetto che può essere utilizzata per ricrearlo. Oggi ci concentreremo su entrambi i metodi chiave di entità Python nel nostro articolo. Facciamo un nuovo inizio.

Esempio 01

Apri lo strumento Python sul tuo sistema, io.e., Stiamo usando Spyder 3 qui. Daremo prima un'occhiata al metodo semplice. Abbiamo avviato il nostro codice inizializzando una variabile stringa con una frase stringa come valore. La funzione di stampa viene utilizzata per stampare la rappresentazione della stringa del valore della "stringa" variabile della console. Per questo, abbiamo utilizzato il metodo "Rep" e preso la stringa come argomento in esso. Successivamente, abbiamo applicato la funzione "Rep" su alcune espressioni matematiche e abbiamo cercato di stamparla tramite la stessa funzione, "Stampa."Diamo un'occhiata all'output ora.

string = 'hy! Sono John'
Stampa (Rep (String))
Stampa (Rep (5.0/11.0))

Nell'output mostrato di seguito, è possibile vedere che il metodo Rep mostra la rappresentazione della stringa sia del valore della stringa che del calcolo dell'espressione matematica.

Esempio 02

Diamo uno sguardo più profondo alle funzioni di "Rep" e "STR" per liberare la differenza tra i due. Questa volta, abbiamo applicato questi metodi di rappresentazione delle stringhe alle funzioni di data e ora di Python. Per ottenere la data e l'ora nel nostro codice, abbiamo prima importato il modulo DateTime di Python tramite la parola chiave "importazione". Quindi, dobbiamo utilizzare la funzione "Now ()" con la classe DateTime nel codice per ottenere la data e l'ora correnti tramite il suo pacchetto e salvare il timestamp corrente nella variabile "TD". Ora, vengono utilizzate due funzioni di stampa per stampare la data e l'ora corrente in un formato stringa usando la funzione "__str__" e "__repr__" sull'oggetto variabile "TD."Il codice è stato salvato ed è pronto per essere eseguito.

Importa DateTime
TD = DateTime.appuntamento.Ora()
Stampa (TD.__Str __ ())
Stampa (TD.__Repr __ ())

Durante l'esecuzione di questo codice, abbiamo due diversi risultati delle stringhe. Il primo risultato è generato dal metodo "__str__" ed è abbastanza comprensibile. Mentre l'altro viene generato usando il metodo "__repr__" ed è abbastanza difficile da capire.

Esempio 03

Facciamo un ultimo ma non ultimo esempio di questo articolo. Abbiamo utilizzato una classe di test definita dall'utente nel nostro codice. Questa classe definisce e implementa la sua funzione di costruttore per salvare il "nome" e "stipendio" in due diverse variabili, V1 e V2. Un oggetto chiamato "Val" viene creato per passare i due valori per la variabile "Nome" e "Stipendio" al costruttore della funzione di prova. La creazione di un oggetto "Val" fa funzionare automaticamente il costruttore della classe di test. Il metodo "__str__" e "__repr__" viene chiamato usando l'oggetto "Val" separatamente e stampare i risultati. Entrambe le funzioni non hanno ottenuto nulla in quanto l'oggetto "val" è stato appena creato e non lo ha valutato. Potrebbe non risponderci nel modo in cui lo vogliamo. Controlliamolo.

Test di classe:
def __init __ (sé, nome, stipendio):
se stesso.v1 = nome
se stesso.v2 = stipendio
Val = test ('John', 50000)
Stampa (Val.__Str __ ())
Stampa (Val.__Repr __ ())

Qui, l'esecuzione predefinita di entrambe le funzioni è intero. Implementamo entrambe le funzioni ora.

Quindi, dopo il costruttore all'interno della classe, abbiamo implementato separatamente i metodi "__str__" e "__repr__", restituendo il formato stringa di un testo. Restituisce anche i valori assegnati al costruttore al thread chiamante, i.e., l'oggetto "Val". Salviamo prima il codice Python appena aggiornato per vedere i suoi risultati.

Test di classe:
def __init __ (sé, nome, stipendio):
se stesso.v1 = nome
se stesso.v2 = stipendio
def __str __ (self):
restituire il nome f'user è self.v1 e il suo stipendio è self.v2 '
def __repr __ (self):
return f'user (name = self.v1, stipendio = self.v2) '
Val = test ('John', 50000)
Stampa (Val.__Str __ ())
Stampa (Val.__Repr __ ())
Stampa (Val.__Repr __ ())

Il primo output è causato dal metodo "__str__" ed è abbastanza comprensibile. L'altro output è comprensibile ma non tanto quanto l'output della funzione "__str__".

Conclusione

Questo articolo riguarda l'utilizzo del metodo "__repr__" nel codice Python. Abbiamo anche discusso del metodo "__str__" utilizzato in questo articolo per confrontare le differenze tra le funzioni. Ti farebbe anche capire più chiaramente il metodo "__repr__". Speriamo con impazienza che questo articolo sia il migliore per i nostri utenti per chiedere aiuto a Python.