Python __STR__ Przykład

Python __STR__ Przykład
Funkcja __STR__ w Pythonie jest po prostu używana do zwrócenia wyjścia funkcji Pythona w formacie ciągów. Ta funkcja jest używana głównie z funkcjami zdefiniowanymi przez użytkownika, ponieważ ich wyjścia na ogół nie ma w formacie ciągów. Aby uzyskać łatwiejsze zrozumienie tych wyników, należy je przekonwertować na format ciągu. Jednak w przypadku klas zdefiniowanych przez użytkownika musisz najpierw zaimplementować tę funkcję. Ponadto inna funkcja znana jako funkcja __repr__ jest zawsze wywoływana za każdym razem, gdy wywołasz funkcję __str__. Dlatego albo możesz zdefiniować obie te funkcje, a przynajmniej musisz zdefiniować funkcję __repr__. Możesz całkowicie przeczytać ten artykuł, aby zrozumieć użycie tej funkcji w Python.

Przykłady __STR__ w Python w systemie Windows 10

Poniżej znajdują się niektóre z różnych zastosowań funkcji __STR__ Pythona. Dokładnie przechodząc przez te przykłady, zrozumiesz, w jaki sposób funkcjonalność tej funkcji różni się między klasami domyślnymi i zdefiniowanymi przez użytkownika.

Przykład 1

W tym przykładzie chcieliśmy użyć wstępnie zdefiniowanej lub domyślnej klasy Python, i.mi., DateTime, z funkcją __str__. Tutaj chcielibyśmy stwierdzić, że dla klas wstępnie zdefiniowanych lub domyślnych wszystkie te funkcje są domyślnie zaimplementowane. Nie musisz ich ręcznie definiować. Kod, który napisaliśmy do wykazania tego przykładu, jest następujący:

W tym kodzie Python najpierw zaimportowaliśmy domyślnie „Datetime" klasa. Następnie zadeklarowaliśmy zmienną o nazwie „aktualny”I przypisał do niego wartość„Datetime.Teraz()”Funkcja„Datetime„Klasa Python. Ta funkcja zwraca bieżącą datę i godzinę systemu. Następnie chcieliśmy wydrukować wartość funkcji __STR__, a następnie wartość funkcji __repr__.

Dane wyjściowe wytworzone w wyniku wykonania tego skryptu Pythona pokazano na poniższym obrazku:

Wiemy, że funkcje __STR__ i __REPR__ zostały domyślnie zaimplementowane, ponieważ korzystaliśmy z klasą wcześniej zdefiniowaną, i.mi., Datetime. Funkcja __STR__ po prostu zwróciła wyjście „Datetime.Teraz()”Funkcja w postaci ciągu. Natomiast funkcja __repr__ zwróciła wyjście „Datetime.Teraz()”Funkcja w formacie przy użyciu tego wyjścia można odtworzyć. Należy tutaj zauważyć, że wyniki te są oparte jedynie na domyślnych implementacjach __STR__ i __repr__ funkcji Pythona.

Przykład 2

W tym przykładzie chcieliśmy użyć funkcji __STR__ z klasą zdefiniowaną przez użytkownika w sposób, w jaki zarówno funkcje __STR__, jak i __repr__ nie zostały zdefiniowane. Kod, który napisaliśmy do wykazania tego przykładu, jest następujący:

W tym kodzie Python zadeklarowaliśmy klasę o nazwie „Pracownik". Następnie zainicjowaliśmy jego atrybuty, które były nazwą EMP_Name i EMP_ID. Następnie stworzyliśmy obiekt „Pracownik„Klasa, ja.mi., "mi”I przy pomocy tego obiektu stworzyliśmy instancję pracownika za pomocą nazwy EMP_NAME”Hasan”I emp_id”1". Na koniec po prostu wydrukowaliśmy wartość funkcji __STR__, a następnie wartość funkcji __repr__. Chcielibyśmy ponownie wspomnieć, że nie wdrożyliśmy jeszcze żadnej z tych funkcji.

Dane wyjściowe, które zostało wyprodukowane w wyniku wykonania tego skryptu Pythona, pokazano na poniższym obrazku:

Ponieważ w tym przykładzie mieliśmy do czynienia z klasą zdefiniowaną przez użytkownika, mieliśmy sami zaimplementować funkcje __STR__ i __REPR__. Jednak tego nie zrobiliśmy, dlatego po prostu otrzymaliśmy adres „Pracownik„Obiekt jako nasz wyjście.

Przykład 3

W tym przykładzie chcieliśmy użyć funkcji __STR__ z klasą zdefiniowaną przez użytkownika, aby tylko funkcja __repr__ została zdefiniowana, a nie funkcja __STR__. Kod, który napisaliśmy do wykazania tego przykładu, jest następujący:

W tym kodzie Python zadeklarowaliśmy klasę o nazwie „Pracownik". Następnie zainicjowaliśmy jego atrybuty, które były nazwą EMP_Name i EMP_ID. Zdefiniowaliśmy również funkcję __repr__, a ta definicja jest dostosowana zgodnie z naszym własnym wyborem. Następnie stworzyliśmy obiekt „Pracownik„Klasa, ja.mi., "mi”I przy pomocy tego obiektu stworzyliśmy instancję pracownika za pomocą nazwy EMP_NAME”Hasan”I emp_id”1". Na koniec po prostu wydrukowaliśmy wartość funkcji __STR__, a następnie wartość funkcji __repr__.

Dane wyjściowe, które zostało wyprodukowane w wyniku wykonania tego skryptu Pythona, pokazano na poniższym obrazku:

Ponieważ zdefiniowaliśmy funkcję __repr__ w naszym kodzie, ta sama definicja została użyta do wytworzenia danych wyjściowych zarówno funkcji __repr__, jak i.

Przykład 4

W tym przykładzie chcieliśmy użyć funkcji __STR__ z klasą zdefiniowaną przez użytkownika w sposób, w jaki zdefiniowano zarówno funkcje __repr__, jak i __str__. Kod, który napisaliśmy do wykazania tego przykładu, jest następujący:

W tym kodzie Python zadeklarowaliśmy klasę o nazwie „Pracownik". Następnie zainicjowaliśmy jego atrybuty, które były nazwą EMP_Name i EMP_ID. Zdefiniowaliśmy również funkcje __repr__ i __STR__, a te definicje są dostosowane zgodnie z naszym własnym wyborem. Funkcja __STR__ wyświetli dane wyjściowe w formie pełnej instrukcji, podczas gdy funkcja __repr__ po prostu zwróci wartości wyjściowe ciągów w naszym przypadku. Następnie stworzyliśmy obiekt „Pracownik„Klasa, ja.mi., „E” i przy pomocy tego obiektu stworzyliśmy instancję pracownika za pomocą nazwy EMP_NAME ”Hasan”I emp_id”1". Na koniec po prostu wydrukowaliśmy wartość funkcji __STR__, a następnie wartość funkcji __repr__.

Dane wyjściowe, które zostało wyprodukowane w wyniku wykonania tego skryptu Pythona, pokazano na poniższym obrazku:

Ponieważ zarówno funkcje __STR__, jak i __repr__ zostały zdefiniowane w naszym kodzie, a definicje obu tych funkcji różniły się od siebie, wyjścia tych dwóch funkcji są różne.

Przykład 5

W tym przykładzie chcieliśmy użyć funkcji __STR__ z klasą zdefiniowaną przez użytkownika w sposób, w jaki tylko funkcja __STR__ zostanie zdefiniowana, a nie funkcja __repr__. Kod, który napisaliśmy do wykazania tego przykładu, jest następujący:

W tym kodzie Python zadeklarowaliśmy klasę o nazwie „Pracownik". Następnie zainicjowaliśmy jego atrybuty, które były nazwą EMP_Name i EMP_ID. Zdefiniowaliśmy również funkcję __STR__, a ta definicja jest dostosowana zgodnie z naszym własnym wyborem. Następnie stworzyliśmy obiekt „Pracownik" klasa, "mi”, A przy pomocy tego obiektu stworzyliśmy instancję pracownika za pomocą nazwy EMP_NAME”Hasan”I emp_id”1". Na koniec po prostu wydrukowaliśmy wartość funkcji __STR__, a następnie wartość funkcji __repr__.

Dane wyjściowe, które zostało wyprodukowane w wyniku wykonania tego skryptu Pythona, pokazano na poniższym obrazku:

Ponieważ zdefiniowaliśmy jedynie funkcję __str__ w naszym kodzie, jej wartość została poprawnie wydrukowana. Podczas gdy dla funkcji __repr__ ponownie otrzymaliśmy adres naszego „Pracownik„Obiekt, ponieważ ta funkcja nie została zdefiniowana w naszym kodzie.

Wniosek

W tym przewodniku najpierw wprowadziliśmy Cię do funkcji __STR__ i __REPR__ Python. Aby dobrze zrozumieć działanie tych funkcji, podzieliliśmy z tobą pięć różnych przykładów, w których pokazaliśmy, w jaki sposób implementacja jednej lub obu tych funkcji wpływa na wyjście kodu Pythona. Ostatnią rzeczą, o której chcielibyśmy przypomnieć, że jeśli użyjesz tych funkcji z klasą domyślną, nie będziesz musiał wyraźnie definiować tych funkcji. Jednak w przypadku klas zdefiniowanych przez użytkownika obowiązkowe jest zdefiniowanie tych funkcji.