Python Constructors: Allt du behöver veta



Den här artikeln kommer att introducera dig till ett intressant ämne som är enkelt men ändå kärnan för programmering. Jag hänvisar till Python-konstruktörer.

Den här artikeln kommer att introducera dig till ett intressant ämne som är enkelt men ändå kärnan för programmering, jag hänvisar till konstruktörer. Följande tips kommer att behandlas i den här artikeln,

Så låt oss komma igång då,





Python-konstruktörer

Om du har programmerat en gång nu har du förmodligen stött på namnet Python en för många gånger. Python som programmeringsspråk följer objektorientering, vilket innebär att varje instans som skapas på plattformen definieras som ett objekt. Även om de flesta komponenterna i Python har massor av information online, är ett ämne som fortsätter att bli forskat om och om igen det som en konstruktör i Python. Därför kommer vi i den här artikeln att diskutera allt om konstruktörer i Python, hur du kan använda dem och de fördelar de ger till bordet. Låt oss börja!

Gå vidare med den här artikeln om Python Constructors,



Vad är en konstruktör i Python?

En konstruktör kan helt enkelt definieras som en speciell typ av metod eller funktion som kan användas för att initiera instanser av olika medlemmar i en klass.

I Python finns det två olika typer av konstruktörer.

  • Icke-parametrerad konstruktör: Konstruktörerna i Python som inte har några parametrar är kända som en icke-parametrerad konstruktör.
  • Parameterized Constructor: En konstruktör som har en fördefinierad parameter kallas en parametrerad konstruktor.

En konstruktör definieras när vi skapar ett objekt i en klass. Närvaron av en konstruktör verifierar också att tillräckligt med resurser finns, så att en startuppgift enkelt kan utföras via ett objekt i en klass.



Gå vidare med den här artikeln om Python Constructors,

Skapa en konstruktör i Python

Nu när du har bekantat dig med definitionen och typerna av konstruktörer i Python, låt oss utforska hur vi kan skapa en konstruktör i Python.

Om du behöver skapa en konstruktion i Python måste du använda __init__-funktionen och / eller metoden. Du måste anropa den här metoden så fort en klass instabiliseras. När __init__-funktionen har definierats och påkallats kan vi skicka valfritt antal argument när klassobjekten skapas beroende på dina behov. Den vanligaste användningen av en konstruktör i Python är att initialisera attributen för en klass.

Notera:

skillnad mellan hash-tabell och hash-karta

Varje klass du skapar i Python måste ha en konstruktör närvarande för att den ska fungera, även om den är standardkonstruktören.

För att förstå detta koncept bättre, ta en titt på exemplet nedan.

klass Anställd: def __init __ (self, name, id): self.id = id self.name = name def display (self): print ('ID:% d nName:% s'% (self.id, self.name )) emp1 = Anställd ('John', 101) emp2 = Anställd ('David', 102) #accessing display () metod för att skriva ut anställd 1 information emp1.display () #accessing display () metod för att skriva ut anställd 2 information emp2 .visa()

När du kör programmet ovan ser utgången ungefär så här.

ID: 101

Namn: John

java util logging logger exempel

ID: 102

Namn: David

Gå vidare med den här artikeln om Python Constructors,

Skillnad mellan parametrerad och icke-parametrerad konstruktör

Som nämnts i definitionerna ovan är en parametriserad konstruktor en som har ett fördefinierat värde och en icke-parametrerad konstruktör är en som inte har något värde tilldelat. Medan programmeringen varierar användningsfallet beroende på sammanhanget, och för att förstå detta bättre, ta en titt på exemplen nedan.

klass Student: #Constructor - icke-parametrerad def __init __ (själv): skriv ut ('This is non parametrized constructor') def show (self, name): print ('Hello', name) student = Student () student.show (' John ')

Ovanstående är ett exempel på en icke-parametrerad konstruktör och dess resultat kommer att vara följande.

Detta är icke parametriserad konstruktör

hej John

klass Student: #Constructor - parametrerad def __init __ (själv, namn): skriv ut ('Detta är parametriserad konstruktör') self.name = namn def visa (self): print ('Hello', self.name) student = Student (' John ') student.show ()

Ovanstående är ett exempel på en parametrerad konstruktör och dess resultat kommer att vara följande.

Det här är parametriserad konstruktör

hej John

Gå vidare med den här artikeln om Python Constructors,

Inbyggda klassfunktioner i Python

Nu när grunderna för en konstruktör i Python är tydliga, låt oss utforska de olika inbyggda klasserna som finns i Python.

hur man djupt kopierar i java
  1. getattr (obj, namn, standard): Den här inbyggda funktionen i Python används för att få tillgång till attributen för en klass.
  2. delattr (obj, namn): Om du behöver ta bort ett visst attribut i en klass, använd sedan den här inbyggda funktionen.
  3. setattr (obj, namn, värde): Om du bestämmer dig för att ställa in ett visst värde för ett visst attribut i en viss situation, använd sedan den här funktionen som är inbyggd i Python.
  4. hasattr (obj, namn): Sist men inte minst, om du behöver se om ett visst objekt innehåller ett attribut, använd sedan den här funktionen. Vid körning kommer detta att bli sant om ett attribut finns i en funktion.

För att förstå begreppet inbyggda klassfunktioner i Python, ta en titt på koden nedan.

klass Student: def __init __ (själv, namn, id, ålder): självnamn = namn själv.id = id själv.ålder = ålder # skapar objektet för klassen Student s = Student ('John', 101,22) # skriver ut attributnamnet för objektets utskrift (getattr (s, 'namn')) # återställ värdet för attributåldern till 23 setattr (s, 'age', 23) # skriver ut det modifierade värdet för åldersutskrift (getattr ( s, 'ålder')) # skrivs ut om studenten innehåller attributet med namn id utskrift (hasattr (s, 'id')) # raderar attribut ålder delattr (s, 'ålder') # detta kommer att ge ett fel sedan attributets ålder har tagits bort utskrift (ar)

Utdata för ovanstående kommer att vara.

John

2. 3

Sann

AttributeError: 'Student' -objektet har inget attribut 'age'

Gå vidare med den här artikeln om Python Constructors,

Inbyggda klassattribut

Tillsammans med de inbyggda klassfunktionerna kommer Python med inbyggda klassattribut, som ibland är till nytta. Några av de viktigaste inbyggda klassattributen är nedan.

  1. __dict__: Genom att använda detta kan du visa ordboken som innehåller information om klassnamnområdet.
  2. __name__: Använd detta attribut om du behöver visa namnet på den aktuella klassen.
  3. __doc__: Detta attribut innehåller en sträng som har dokumentationen för den aktuella klassen.
  4. __module__: Om du behöver åtkomst till modulen där klassen är definierad, använd detta inbyggda attribut.
  5. __bases__: Om du behöver visa tupeln som innehåller alla basklasser, använd sedan den här funktionen.

Ett exempel för att klargöra alla de inbyggda klassattributen är nedan.

klass Student: def __init __ (self, name, id, age): self.name = name self.id = id self.age = age def display_details (self): print ('Name:% s, ID:% d, age :% d '% (self.name, self.id)) s = Student (' John ', 101,22) print (s .__ doc__) print (s .__ dict__) print (s .__ module__)

Detta leder oss till slutet av den här artikeln om Python Constructors.

För att få fördjupad kunskap om Python tillsammans med dess olika applikationer kan du för live onlineträning med support dygnet runt och livstidsåtkomst.

Har du en fråga till oss? Nämn dem i kommentarsektionen i 'Python Tutorial' så återkommer vi till dig.