Metody Python Dunder

Metody Python Dunder
Metody Dunder są również nazywane specjalnymi technikami, które są zestawem predefiniowanych metod w Pythonie, które można zastosować do ulepszenia klas. Ponieważ zaczynają i kończą podwójnymi podkreśleniami, takimi jak __init__ lub __STR__, można je łatwo zidentyfikować. W Pythonie te „dunders” lub „specjalne metody” są czasami znane jako „Methode Methods.”Jednak przyjęcie tego wyrażenia może sprawić, że rzeczy wydają się bardziej wyrafinowane niż są. Techniki te powinny być obsługiwane tak, jakby miały wbudowane aspekty językowe.

Metody Dunder są niezwykle silnymi metodami wewnętrznymi Python, które można zastosować do opracowania złożonych klas. Ta lekcja zawiera przewodnik krok po kroku metod Python i sposób ich używania, wraz z przykładami. Spójność popularności Pythona można przypisać popularności języka. W przypadku wewnętrznych metod, takich jak ABS (), len (), sorted () i wielu innych, Python pozwala wdrożyć niestandardowe obiekty. Wszystko, co musisz teraz zrobić, to dodać kilka unikalnych metod do swojej klasy (metody Dunder).

W tym artykule zastosowaliśmy frazy takie jak metody Dunder, Metody Magiczne i specjalne techniki, z których wszystkie należą do tej samej kategorii. Zanim przejdziemy do samouczka, powinieneś być czymś świadomym. Programiści Python, którzy mają doświadczenie w programowaniu obiektowym (OOP) rozpoznają metodę __init__. Metoda Dunder została nazwana na cześć podwójnych podkreśleń, które są znane jako Dunder w Pythonie. Ponieważ w Ruby są magiczne metody, które spełniają ten sam cel, niektórzy programiści Python odnoszą się do nich jako taki w Python. Zwykle nazywamy je specjalnymi metodami, ponieważ tak nazywa ich instrukcja Pythona. W rezultacie, jeśli widzisz te metody w Pythonie, załóżmy, że są to specjalne metody.

Przykład 1:

Podobnie do konstruktorów w innych językach programowania, gdy powstaje instancja klasy, funkcja __init__ do inicjalizacji jest wywoływana bez żadnego wywołania. Na zajęciach Pythona „__init__” jest metodą zastrzeżoną. W terminologii zorientowanej na obiekty jest on określany jako funkcja object () [natywny kod]. Ta metoda jest wywoływana, gdy obiekt jest tworzony z klasy, aby umożliwić klasie zapełnienie jego właściwości. Możemy użyć operatora „+” do połączenia dwóch ciągów bez konieczności stosowania jawnego typu typu z powodu tych metod. Oto szczegółowy przykład tego, jak to wykonać. Najpierw zadeklarowaliśmy naszą klasę smyczkową, a następnie funkcja magii, aby utworzyć obiekt. Tworzenie obiektów jest zakończone po kodzie sterownika, a lokalizacja obiektu jest zgłaszana na końcu.

Powyższe wiersze kodu po prostu drukują adres pamięci obiektu ciągów.

Przykład 2:

Skorzystamy z metody __repr__ do przedstawienia naszego obiektu w poniższym przykładzie. Metoda magiczna __repr__ reprezentuje instancję klasową w ciągu. Kiedy próbujemy wydrukować obiekt klasy, wywoływana jest funkcja __repr__, co daje ciąg. Domyślnie reper () zwraca reprezentację ciągu dostarczonej do funkcji eval. Domyślnie obiekt klasy niestandardowej zawiera ciąg w nawiasach kątowych zawierających nazwę i adres obiektu. Z wyjątkiem dodania metody __repr__ po zastosowaniu metody magicznej do zainicjowania obiektu, kod jest taki sam jak poprzednio.

Tutaj widać, że powyższe z powodzeniem wyświetliło ciąg.

Przykład 3:

Teraz dodamy funkcję __add__ do klasy ciągów. Atrybuty instancji klasy są dodawane za pomocą metody __add__ magicznej. Udawajmy, że Object1 należy do klasy A i Object2 do klasy B i że obie te klasy mają atrybut o nazwie „A”, który zawiera liczbę całkowitą. Po zakończeniu obiektu operacji1 + obiekt2 funkcja __add__ domyślnie dodaje atrybuty tych obiektów, takie jak Object1.A + obiekt2.A. Ponownie inicjowaliśmy klasę ciągu w kodzie, jak widać w pierwszym wierszu kodu. Następnie wykorzystaliśmy magiczny sposób na rozpoczęcie obiektu. Obiekt ciągu został następnie wydrukowany za pomocą metody __add__. Obiekt jest tworzony po kodzie sterownika, który jest następnym wierszem kodu. W ostatnim wierszu kodu połączyliśmy obiekt ciągów z ciągiem.

Ciąg klas:

Poniżej znajduje się wyjście wyżej napisanego kodu.

Wniosek:

Metody magiczne są metodami Python z podwójnymi podkoszulkami na początku i wnioskiem. Metody lub techniki Dunder to dla nich inna nazwa. Metody magiczne nie są przeznaczone bezpośrednio przez użytkownika; Zamiast tego są nazywane wewnętrznie przez klasę w reakcji na określone działanie. Metoda __add __ () jest wywoływana wewnętrznie, gdy używasz operatora + do dodania dwóch liczb, na przykład. Wbudowane klasy Pythona definiują wiele magicznych metod. Aby dowiedzieć się, ile magicznych metod odziedziczyła klasa, możesz użyć funkcji dir ().