Bruk av __init__ -funksjonen i Python

Bruk av __init__ -funksjonen i Python
Python støtter både strukturert og objektorientert programmering. Klassen og objektet brukes til å implementere objektorientert programmering. Klassen definerer egenskapene til objektet. Konstruktørmetoden brukes i objektorientert programmering for å erklære, initialisere og manipulere objektet, og denne metoden kalles automatisk når et objekt i klassen opprettes. De __i det__() Funksjon fungerer som konstruktørmetoden i Python, og den erklæres inne i klassen.

Syntaks:

Syntaksen til __init __ () -funksjonen er gitt nedenfor.

__init __ (selv, [argumenter])

Det første argumentet for funksjonen brukes til å referere til det nåværende objektet i klassen. De andre argumentene for denne funksjonen er valgfrie. Null eller flere argumenter kan brukes etter det første argumentet for å initialisere klassevariablene. Ulike bruksområder av __init __ () -funksjonen har vært i neste del av opplæringen.

Eksempel 1: Bruk av en konstruktør uten noe argument

Lag en Python -fil med følgende skript for å definere en konstruktørmetode uten noe argument ved å bruke __init __ () -funksjon. Denne funksjonen vil bli kalt når gjenstanden for testklassen blir opprettet.

#Declare en klasse med parameterløs konstruktør
Klassetestklasse:
#Declare Constructor Method
def __init __ (selv):
#Trykk en enkel melding
trykk ('Konstruktørmetode er blitt kalt.')
#Create Objekt av klassen
objekt = testclass ()

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. __Init __ () -funksjonen er blitt kalt når objektet for klassen ble opprettet, og meldingen fra __init __ () -funksjonen, 'konstruktørmetode er blitt kalt.'Er blitt skrevet ut.

Eksempel-2: Bruk av en konstruktør med argumenter

Lag en Python -fil med følgende skript for å definere en konstruktørmetode med et argument ved å bruke __init __ () -funksjonen. To objekter er opprettet for Testklasse klasse i manuset. Så __init __ () -funksjonen vil bli kalt to ganger og initialisere Navn variabel med verdien som ble gitt til funksjonen på tidspunktet for objektopprettelsen.

#Declare en klasse med en parameterisert konstruktør
Klassetestklasse:
#Declare konstruktørmetode med ett argument
def __init __ (selv, navn):
#Trykk en enkel melding
trykk ('Konstruktørmetode er blitt kalt.')
#Initialisert klassevariabelen
selv-.Navn = Navn
#Create Objekt av klassen
Object1 = TestClass ('Mir Abbas')
trykk ('velkomst,', objekt1.Navn)
#Skaper et annet objekt i klassen
Object2 = Testclass ('Nila Chowdhury')
trykk ('velkomst,', objekt1.Navn)
trykk ('velkomst,', objekt2.Navn)

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Det første objektet er opprettet med verdien, 'Mir Abbas', og det andre objektet er opprettet med verdien, 'Nila Chowdhury'. Utgangen viser at det andre objektet oppretter en klon av det første objektet. Så eiendomsverdien til det første objektet overskriver ikke av det andre objektet.

Eksempel-3: Bruk av en konstruktør med en annen metode

Lag en Python -fil med følgende skript der en konstruktørmetode er blitt erklært med den andre metoden. Her vil __init __ () -funksjonen ta to argumentverdier på tidspunktet for objektopprettelsen som vil bli brukt til å initialisere to klassevariabler, og en annen metode i klassen vil bli kalt for å skrive ut verdiene til klassevariablene.

#Declare en klasse med parameterisert konstruktør
Klassetestklasse:
#Declare konstruktørmetode med ett argument
def __init __ (selv, navn, yrke):
#Trykk en enkel melding
trykk ('Konstruktørmetode er blitt kalt.')
#Initialisert klassevariablene
selv-.Navn = Navn
selv-.yrke = yrke
#Call en annen metode
selv-.display_info ()
#Definer en annen metode i klassen
def display_info (selv):
trykk ("yrket", jeget.Navn, "er", selv.yrke)
#Create Objekt av klassen
Objekt = testclass ('Kabir Hossain', 'CEO')

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. To klassevariabler er initialisert med verdiene, 'Kabir Hossain' og 'ADMINISTRERENDE DIREKTØR' på tidspunktet for objektopprettelsen og disse verdiene er skrevet ut.

Eksempel-4: Bruk av en konstruktør med arv

Lag en Python -fil med følgende skript der en konstruktørmetode er implementert med arven. __Init __ () -funksjonen er definert for både foreldreklassen og barneklassen her. Display () -metoden er blitt definert også for både foreldre- og barneklasser. __Init __ () -funksjonen til foreldreklassen har ett argument og barneklassen har tre argumenter.

#Declare morsklassen
Klassen Parentclass:
def __init __ (selv, navn):
trykk ("Foreldres konstruktør er blitt kalt.\ n ")
selv-.Navn = Navn
def display (selv):
trykk ("Navn:", selv.Navn)
#Declare The Child Class
Class Childclass (ParentClass):
def __init __ (selv, navn, innlegg, lønn):
#Call konstruktør av foreldreklassen
Parentclass.__init __ (selv, navn)
trykk ("Child Constructor er blitt kalt.\ n ")
selv-.POST = POST
selv-.Lønn = lønn
def display (selv):
trykk ("Navn:", selv.Navn)
trykk ("Innlegg:", selv.post)
trykk ("Lønn:", selv.lønn)
#Skape objekt av foreldreklassen
Object1 = ParentClass ("Tanvir Hossain")
Objekt1.vise()
#Skape objekt av barneklassen
Object2 = Childclass ("Farheen Hasan", 'CEO', 700000)
Objekt2.vise()

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-5: Bruk av en konstruktør med flere arv

Lag en Python -fil med følgende skript der barneklassen er opprettet fra to foreldreklasser og __i det__() Funksjonen er definert for disse tre klassene. Barneklassen har en annen metode som heter vise(), å skrive ut verdiene til klassevariablene.

#Declare morsklassen
Klasse ParentClass1:
def __init __ (selv, navn, e -post, kontakt_no):
trykk ("Foreldres konstruktør er blitt kalt.")
selv-.Navn = Navn
selv-.E -post = e -post
selv-.KONTAKT_NO = CONTACT_NO
#Declare morsklassen
Klasse ParentClass2:
def __init __ (selv, avdeling, post):
trykk ("En annen foreldrekonstruktør er blitt kalt.")
selv-.Avdeling = avdeling
selv-.POST = POST
#Declare The Child Class
Class Childclass (ParentClass1, ParentClass2):
def __init __ (selv, navn, e -post, kontakt_no, avdeling, post, lønn):
#Call konstruktør av foreldreklassen
ParentClass1.__init __ (selv, navn, e -post, kontakt_no)
# Ring konstruktør av en annen foreldreklasse
ParentClass2.__init __ (selv, avdeling, post)
trykk ("Child Constructor er blitt kalt.\ n ")
selv-.Lønn = lønn
def display (selv):
trykk ("Navn:", selv.Navn)
Skriv ut ("E -post:", selv.e -post)
trykk ("Kontakt nei:", selv.kontaktnummer)
trykk ("Avdeling:", selv.avdeling)
trykk ("Innlegg:", selv.post)
trykk ("Lønn:", selv.lønn)
#Skape objekt av barneklassen
Objekt = Barneplan ('Farhan Akter', '[email protected] ',' 8801937894567 ',' HR ',' manager ', 500000)
#Kall visningsmetoden
gjenstand.vise()

Produksjon:


Følgende utgang vises etter å ha utført skriptet ovenfor.

Konklusjon

Måtene å bruke __init __ () -funksjonen i Python har blitt vist i denne opplæringen ved å bruke enkle eksempler for å hjelpe Python -brukerne til å kjenne formålene med å bruke denne funksjonen riktig.