Użycie funkcji __init__ w Pythonie

Użycie funkcji __init__ w Pythonie
Python obsługuje zarówno programowanie strukturalne, jak i obiektowe. Klasa i obiekt są używane do wdrażania programowania obiektowego. Klasa określa właściwości obiektu. Metoda konstruktora jest stosowana w programowaniu obiektowym do deklarowania, inicjalizacji i manipulowania obiektem, a metoda ta jest wywoływana automatycznie, gdy tworzy się obiekt klasy klasy. __w tym__() Funkcja działa jak metoda konstruktora w Pythonie i jest deklarowana w klasie.

Składnia:

Składnia funkcji __init __ () podano poniżej.

__init __ (self, [argumenty])

Pierwszy argument funkcji jest używany w odniesieniu do aktualnego obiektu klasy. Pozostałe argumenty tej funkcji są opcjonalne. Zero lub więcej argumentów można użyć po pierwszym argumencie do zainicjowania zmiennych klasowych. Różne zastosowania funkcji __init __ () były w następnej części samouczka.

Przykład-1: użycie konstruktora bez żadnego argumentu

Utwórz plik Python z następującym skryptem, aby zdefiniować metodę konstruktora bez żadnego argumentu za pomocą funkcji __init __ (). Ta funkcja zostanie wywołana, gdy zostanie utworzony obiekt klas testowych.

#Declare A klasa z konstruktorem bez parametrów
klasowa klasa:
#Declare Constructor Method
def __init __ (ja):
#PROPREM prosta wiadomość
Drukuj („Metoda konstruktora została wywołana.')
#Utwórz obiekt klasy
Object = testClass ()

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Funkcja __init __ () została wywołana po utworzeniu obiektu klasy, a komunikat z funkcji __init __ () „wywołano metodę konstruktora.'został wydrukowany.

Przykład-2: użycie konstruktora z argumentami

Utwórz plik Pythona z następującym skryptem, aby zdefiniować metodę konstruktora za pomocą argumentu za pomocą funkcji __init __ (). Dla dwóch obiektów zostały utworzone dla Klasa testowa klasa w skrypcie. Tak więc funkcja __init __ () będzie nazywana dwa razy i zainicjuje nazwa zmienna z wartością przekazaną do funkcji w momencie tworzenia obiektu.

#Declare A klasa z sparametryzowanym konstruktorem
klasowa klasa:
#Declare Constructor Method z jednym argumentem
def __init __ (ja, imię):
#PROPREM prosta wiadomość
Drukuj („Metoda konstruktora została wywołana.')
#Initalized zmienną klasową
samego siebie.Nazwa = nazwa
#Utwórz obiekt klasy
Object1 = TestClass („Mir Abbas”)
Drukuj („Witamy”, obiekt1.nazwa)
#Ukwreń inny obiekt klasy
Object2 = testClass („Nila Chowdhury”)
Drukuj („Witamy”, obiekt1.nazwa)
Drukuj („wita”, obiekt2.nazwa)

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Pierwszy obiekt został utworzony o wartości „Mir Abbas”, a drugi obiekt został utworzony o wartości „Nila Chowdhury”. Wyjście pokazuje, że drugi obiekt tworzy klon pierwszego obiektu. Tak więc wartość właściwości pierwszego obiektu nie zastąpiła drugiego obiektu.

Przykład-3: użycie konstruktora inną metodą

Utwórz plik Pythona z następującym skryptem, w którym metoda konstruktora została zadeklarowana za pomocą drugiej metody. Tutaj funkcja __init __ () przyjmuje dwie wartości argumentów w momencie tworzenia obiektu, które zostaną użyte do inicjowania dwóch zmiennych klasowych, a inna metoda klasy zostanie wywołana do wydrukowania wartości zmiennych klasy klasy.

#Declare A klasa z sparametryzowanym konstruktorem
klasowa klasa:
#Declare Constructor Method z jednym argumentem
def __init __ (ja, imię, zawód):
#PROPREM prosta wiadomość
Drukuj („Metoda konstruktora została wywołana.')
#Initalizował zmienne klasowe
samego siebie.Nazwa = nazwa
samego siebie.Zawód = zawód
#Zajmuj inną metodę
samego siebie.display_info ()
#Określ inną metodę klasy
def display_info (self):
Drukuj („zawód”, jaźń.nazwa, „is”, jaźń.zawód)
#Utwórz obiekt klasy
Object = TestClass („Kabir Hossain”, „CEO”)

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu. Dwie zmienne klasowe zostały zainicjowane z wartościami, „Kabir Hossain” I „CEO” w czasie tworzenia obiektów i wartości te zostały wydrukowane.

Przykład-4: użycie konstruktora z dziedzictwem

Utwórz plik Pythona z następującym skryptem, w którym zaimplementowano metodę konstruktora z funkcją dziedziczenia. Funkcja __init __ () została zdefiniowana zarówno dla klasy nadrzędnej, jak i klasy dzieci tutaj. Metoda display () została zdefiniowana również zarówno dla klas nadrzędnych, jak i dzieci. Funkcja __init __ () klasy nadrzędnej ma jeden argument, a klasa dziecięca ma trzy argumenty.

#Declare the Parent Class
klasowa klasa nadrzędna:
def __init __ (ja, imię):
wydruku („Wywołano konstruktor nadrzędny.\N")
samego siebie.Nazwa = nazwa
Wyświetlacz def (self):
Drukuj („Nazwa:”, jaźń.nazwa)
#Declare the Child Class
klasowa klasa dziecięca (class macierz):
def __init __ (ja, imię, post, pensja):
#Call Constructor of the Parent Class
Klasa rodzica.__init __ (ja, imię)
wydruku.\N")
samego siebie.Post = Post
samego siebie.wynagrodzenie = wynagrodzenie
Wyświetlacz def (self):
Drukuj („Nazwa:”, jaźń.nazwa)
Drukuj („Post:”, jaźń.post)
Drukuj („pensja:”, jaźń.wynagrodzenie)
#Utwórz obiekt klasy nadrzędnej
Object1 = ParentClass („Tanvir Hossain”)
obiekt1.wyświetlacz()
#Utwórz obiekt klasy dziecięcej
Object2 = Childclass („Farheen Hasan”, „CEO”, 700000)
obiekt2.wyświetlacz()

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Przykład-5: użycie konstruktora z wielokrotnym dziedzictwem

Utwórz plik Pythona z następującym skryptem, w którym klasa dziecięca została utworzona z dwóch klas nadrzędnych i __w tym__() Funkcja została zdefiniowana dla tych trzech klas. Klasa dziecięca ma inną wymienioną metodę wyświetlacz(), Aby wydrukować wartości zmiennych klasowych.

#Declare the Parent Class
klasa ParentClass1:
def __init __ (ja, imię, e -mail, contact_no):
wydruku („Wywołano konstruktor nadrzędny.")
samego siebie.Nazwa = nazwa
samego siebie.e -mail = e -mail
samego siebie.contact_no = contact_no
#Declare the Parent Class
klasa ParentClass2:
def __init __ (self, dział, post):
Drukuj („Nazywano inny konstruktor nadrzędny.")
samego siebie.dział = dział
samego siebie.Post = Post
#Declare the Child Class
klasa Childclass (ParentClass1, ParentClass2):
def __init __ (ja, imię, e -mail, contact_no, dział, post, pensja):
#Call Constructor of the Parent Class
ParentClass1.__init __ (ja, imię, e -mail, kontakt_no)
# Zwołaj konstruktor innej klasy nadrzędnej
ParentClass2.__init __ (self, dział, post)
wydruku.\N")
samego siebie.wynagrodzenie = wynagrodzenie
Wyświetlacz def (self):
Drukuj („Nazwa:”, jaźń.nazwa)
Drukuj („e -mail:”, jaźń.e-mail)
Drukuj („nr kontaktu:”, jaźń.contact_no)
Drukuj („Department:”, jaźń.dział)
Drukuj („Post:”, jaźń.post)
Drukuj („pensja:”, jaźń.wynagrodzenie)
#Utwórz obiekt klasy dziecięcej
Object = Childclass („Farhan Akter”, „[email protected] ', „8801937894567”, „HR”, „menedżer”, 500000)
#Metoda wyświetlania
obiekt.wyświetlacz()

Wyjście:


Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Wniosek

Sposoby korzystania z funkcji __init __ () w Pythonie zostały pokazane w tym samouczku, używając prostych przykładów pomagania użytkownikom Python w znaniu celów prawidłowego wykorzystania tej funkcji.