Python Constructors: Alt du trenger å vite



Denne artikkelen vil introdusere deg for et interessant tema som er enkelt, men likevel kjerne for programmering. Jeg refererer til Python-konstruktører.

Denne artikkelen vil introdusere deg for et interessant tema som er enkelt, men likevel kjerne for programmering, jeg refererer til konstruktører. Følgende tips vil bli dekket i denne artikkelen,

Så la oss komme i gang da,





Python Constructors

Hvis du har programmert en stund nå, har du sannsynligvis kommet over navnet Python en for mange ganger. Python som programmeringsspråk følger objektorientering, noe som betyr at hver forekomst som blir opprettet på plattformen er definert som et objekt. Selv om de fleste komponentene i Python har massevis av informasjon på nettet, er et emne som stadig blir undersøkt igjen og igjen, det som er en konstruktør i Python. Derfor vil vi i denne artikkelen diskutere alt om konstruktører i Python, hvordan du kan bruke dem og fordelene de gir til bordet. La oss begynne!

Fortsetter med denne artikkelen om Python Constructors,



Hva er en konstruktør i Python?

En konstruktør kan ganske enkelt defineres som en spesiell type metode eller funksjon som kan brukes til å initialisere forekomster av forskjellige medlemmer i en klasse.

I Python er det to forskjellige typer konstruktører.

  • Ikke-parameterisert konstruktør: Konstruktørene i Python som ikke har noen parametre til stede, er kjent som en ikke-parametrerte konstruktør.
  • Parameterized Constructor: En konstruktør som har en forhåndsdefinert parameter er kjent som en parameterisert constructor.

En konstruktør defineres i det øyeblikket vi lager et objekt inne i en klasse. Tilstedeværelsen av en konstruktør verifiserer også at det er nok ressurser til stede, slik at en oppstartsoppgave enkelt kan utføres via et objekt i en klasse.



Fortsetter med denne artikkelen om Python Constructors,

Opprette en konstruktør i Python

Nå som du har kjent deg med definisjonen og typene konstruktører i Python, la oss utforske hvordan vi kan lage en konstruktør i Python.

I Python, hvis du trenger å lage en konstruksjon, må du bruke __init__-funksjonen og / eller metoden. Du må påkalle denne metoden i det øyeblikket en klasse blir instansert. Når __init__-funksjonen er definert og påkalt, kan vi sende et hvilket som helst antall argumenter når du oppretter klasseobjektene, avhengig av dine behov. Den vanligste bruken av en konstruktør i Python er å initialisere attributtene til en klasse.

Merk:

is-a og har-et forhold i java

Hver klasse du lager i Python, må ha en konstruktør tilstede for at den skal fungere, selv om den er standardkonstruktøren.

For å forstå dette konseptet bedre, ta en titt på eksemplet nedenfor.

klasse Ansatt: def __init __ (selv, navn, id): self.id = id self.name = navn def display (self): print ('ID:% d nName:% s'% (self.id, self.name )) emp1 = Ansatt ('John', 101) emp2 = Ansatt ('David', 102) #accessing display () metode for å skrive ut ansatt 1 informasjon emp1.display () #accessing display () metode for å skrive ut ansatt 2 informasjon emp2 .vise()

Når du kjører programmet ovenfor, vil utgangen se ut som dette.

ID: 101

Navn: John

ID: 102

Navn: David

Fortsetter med denne artikkelen om Python Constructors,

Forskjellen mellom parametrerte og ikke-parametrerte konstruktører

Som nevnt i definisjonene ovenfor, er en parameterisert konstruktør en som har en forhåndsdefinert verdi, og en ikke-parameterisert konstruktør er en som ikke har noen verdi tildelt den. Mens programmering varierer brukssakene avhengig av konteksten, og for å forstå dette bedre, ta en titt på eksemplene nedenfor.

klasse Student: #Constructor - ikke parametrisert def __init __ (selv): print ('This is non parametrized constructor') def show (self, name): print ('Hello', name) student = Student () student.show (' John ')

Ovennevnte er et eksempel på en ikke-parameterisert konstruktør, og utdataene vil være følgende.

Dette er ikke parametrisert konstruktør

Hei John

class Student: #Constructor - parameterised def __init __ (self, name): print ('This is parametrized constructor') self.name = name def show (self): print ('Hello', self.name) student = Student (' John ') student.show ()

Ovennevnte er et eksempel på en parametrisert konstruktør, og utdataene vil være følgende.

Dette er parametrisert konstruktør

hvordan du endrer dobbelt til int i java

Hei John

Fortsetter med denne artikkelen om Python Constructors,

I innebygde klassefunksjoner i Python

Nå som det grunnleggende om en konstruktør i Python er klart, la oss utforske de forskjellige innebygde klassene som er tilstede i Python.

summer sifrene i et heltall java
  1. getattr (obj, navn, standard): Denne innebygde funksjonen i Python brukes til å få tilgang til attributtene til en klasse.
  2. delattr (obj, navn): Hvis du trenger å slette et bestemt attributt i en klasse, så bruk denne innebygde funksjonen.
  3. setattr (obj, navn, verdi): Hvis du bestemmer deg for å sette en bestemt verdi til et bestemt attributt i en bestemt situasjon, så bruk denne funksjonen som kommer innebygd i Python.
  4. hasattr (obj, navn): Sist, men ikke minst, hvis du trenger å se om et bestemt objekt inneholder et attributt, så bruk denne funksjonen. Ved utførelse vil dette bli sant hvis et attributt er til stede i en funksjon.

For å forstå begrepet innebygde klassefunksjoner i Python, ta en titt på koden nedenfor.

class Student: def __init __ (self, name, id, age): self.name = name self.id = id self.age = age #creates the object of the class Student s = Student ('John', 101,22) # skriver ut attributtnavnet til objektets utskrift (getattr (s, 'navn')) # tilbakestill verdien av attributtalderen til 23 setattr (s, 'age', 23) # skriver ut den modifiserte verdien for aldersutskrift (getattr ( s, 'alder')) # utskrifter sant hvis studenten inneholder attributtet med navn id utskrift (hasattr (s, 'id')) # sletter attributtets alder delattr (s, 'alder') # dette vil gi en feil siden attributtalderen er slettet print (s.age)

Resultatet for ovennevnte vil være.

John

2. 3

ekte

AttributeError: 'Student' -objektet har ingen attributt 'age'

Fortsetter med denne artikkelen om Python Constructors,

Innebygde klasseegenskaper

Sammen med de innebygde klassefunksjonene kommer Python med innebygde klasseattributter, som til tider kommer godt med. Noen av de viktigste innebygde klasseattributtene er som gitt nedenfor.

  1. __dict__: Ved å bruke dette kan du se ordboken som inneholder informasjon om klassens navneområde.
  2. __name__: Bruk dette attributtet hvis du trenger å se navnet på gjeldende klasse.
  3. __doc__: Dette attributtet inneholder en streng som har dokumentasjonen for gjeldende klasse.
  4. __module__: Hvis du trenger tilgang til modulen der klassen er definert, bruk dette innebygde attributtet.
  5. __bases__: Hvis du trenger å se tupelen som inkluderer alle basisklassene, bruk denne funksjonen.

Et eksempel for å avklare alle de innebygde klasseattributtene er som gitt nedenfor.

class 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__)

Dette bringer oss til slutten av denne artikkelen om Python Constructors.

For å få inngående kunnskap om Python sammen med dets forskjellige applikasjoner, kan du for live online trening med 24/7 support og levetidstilgang.

Har du et spørsmål til oss? Nevn dem i kommentarfeltet i “Python Tutorial”, så kommer vi tilbake til deg.