Pythoni konstruktorid: kõik, mida peate teadma



See artikkel tutvustab teile huvitavat teemat, mis on programmeerimiseks siiski lihtne, kuid pean silmas Pythoni konstruktoreid.

See artikkel tutvustab teile huvitavat teemat, mis on programmeerimise jaoks siiski lihtne, kuid millele ma viitan konstruktorid. Järgmisi näpunäiteid käsitletakse selles artiklis,

Alustagem siis





Pythoni konstruktorid

Kui olete juba mõnda aega programmeerinud, olete ilmselt Pythoni nimega liiga palju kordi kokku puutunud. Python kui programmeerimiskeel järgib objekti orientatsiooni, mis tähendab, et iga platvormil loodud eksemplar on määratletud objektina. Kuigi enamikul Pythoni komponentidest on veebis palju teavet, on üks teema, mida uuritakse ikka ja jälle, Pythoni konstruktori teema. Seetõttu käsitleme selles artiklis kõike Pythoni konstruktorite kohta, kuidas saate neid kasutada ja milliseid eeliseid need lauale toovad. Alustagem!

Selle artikliga Python Constructors edasi liikudes



Mis on Pythoni konstruktor?

Konstruktorit saab lihtsalt määratleda eritüübi meetodi või funktsioonina, mida saab kasutada klassi erinevate liikmete eksemplaride initsialiseerimiseks.

Pythonis on kahte tüüpi konstruktoreid.

  • Parameetrideta konstruktor: Pythoni konstruktoreid, millel parameetreid pole, nimetatakse parameetriteta konstruktoriteks.
  • Parameeterdatud konstruktor: konstruktorit, millel on eelnevalt määratletud parameeter, nimetatakse parameetriliseks konstruktoriks.

Konstruktor määratletakse hetkel, kui loome objekti klassi sees. Konstruktori olemasolu kontrollib ka piisavate ressursside olemasolu, nii et käivitusülesannet saab hõlpsasti täita klassi objekti kaudu.



Selle artikliga Python Constructors edasi liikudes

Konstruktori loomine Pythonis

Nüüd, kui olete tutvunud Pythoni konstruktorite definitsiooni ja tüüpidega, uurigem, kuidas saaksime Pythonis konstruktorit luua.

Kui peate Pythonis looma konstrukti, peate kasutama funktsiooni __init__ ja või meetodit. Peate kasutama seda meetodit, hetkel, kui klass on loodud. Kui funktsioon __init__ on määratletud ja kutsutud, võime klassi objektide loomisel edastada suvalise arvu argumente, sõltuvalt teie vajadustest. Konstruktori kõige tavalisem kasutamine Pythonis on klassi atribuutide initsialiseerimine.

Märge:

andmepõhine raamistik seleeni veebidraiveri näites

Igas Pythonis loodud klassis peab toimimiseks olema olemas konstruktor, isegi kui see on vaikekonstruktor.

Selle kontseptsiooni paremaks mõistmiseks vaadake allolevat näidet.

klassi töötaja: def __init __ (ise, nimi, id): self.id = id self.name = nimi def display (self): print ('ID:% d nNimi:% s'% (self.id, self.name )) emp1 = Employee ('John', 101) emp2 = Employee ('David', 102) # accessess display () meetod töötaja 1 teabe printimiseks emp1.display () #accessing display () meetod töötaja 2 teabe printimiseks emp2 .display ()

Kui käivitate ülaltoodud programmi, näeb väljund välja umbes selline.

ID: 101

Nimi: John

ID: 102

Nimi: David

Selle artikliga Python Constructors edasi liikudes

Parameetrilise ja mitteparametreeritud konstruktori erinevus

Nagu eelpool toodud määratlustes mainitud, on parameetriga konstruktor selline, millel on eelnevalt määratletud väärtus, ja parameetrita konstruktoril on see, millele pole määratud väärtust. Kuigi programmeerimine varieerub kasutusjuhtudest sõltuvalt kontekstist ja selle paremaks mõistmiseks vaadake alltoodud näiteid.

klass Õpilane: #Konstruktor - parameetriteta def __init __ (ise): print ('See pole parameetriline konstruktor') def show (ise, nimi): print ('Tere', nimi) õpilane = Tudeng () õpilane.show (' John ')

Ülaltoodud on näide mitteparametreeritud konstruktorist ja selle väljund on järgmine.

See on parameetriteta konstruktor

Tere, John

klass Õpilane: #Konstruktor - parameetriga def __init __ (ise, nimi): print ('See on parameetriseeritud konstruktor') ise.nimi = nimi def show (ise): print ('Tere', isenimi) õpilane = Tudeng (' John ') student.show ()

Ülaltoodud on näide parameetritega konstruktorist ja selle väljund on järgmine.

See on parametriseeritud konstruktor

ms sql õpetus algajatele

Tere, John

Selle artikliga Python Constructors edasi liikudes

Rakenduses Python ehitatud klassifunktsioonid

Nüüd, kui Pythoni konstruktori põhitõed on selged, uurime Pythonis esinevaid erinevaid sisseehitatud klasse.

kuidas java väärtuse järgi edasi anda
  1. getattr (obj, nimi, vaikimisi): seda Pythoni sisseehitatud funktsiooni kasutatakse juurdepääsu saamiseks klassi atribuutidele.
  2. delattr (obj, nimi): Kui peate kustutama konkreetse atribuudi klassist, kasutage seda sisseehitatud funktsiooni.
  3. setattr (obj, nimi, väärtus): Kui otsustate teatud olukorras määrata konkreetse väärtuse konkreetsele atribuudile, kasutage seda funktsiooni, mis on sisseehitatud Pythonis.
  4. hasattr (obj, nimi): Lõpuks, kuid mitte vähem oluline, kui peate nägema, kas konkreetne objekt sisaldab atribuuti, siis kasutage seda funktsiooni. Käivitamisel naaseb see väärtuseks true, kui funktsioonis on atribuut.

Pythoni sisseehitatud klassifunktsioonide kontseptsiooni mõistmiseks vaadake allolevat koodi.

klassi õpilane: def __init __ (mina, nimi, ID, vanus): ise.nimi = nimi ise.id = id ise.vanus = vanus # loob klassi objekti õpilane s = õpilane ('John', 101,22) #prindib objekti printimise atribuudi nime (getattr (s, 'nimi')) # lähtestab atribuudi vanuse väärtuse väärtusele 23 setattr (s, 'vanus', 23) # prindib vanusetrüki (getattr ( s, 'vanus')) # prinditakse tõeseks, kui õpilane sisaldab atribuuti nimega id print (hasattr (s, 'id')) # kustutab atribuudi vanus delattr (s, 'vanus') # see annab vea kuna atribuudi vanus on kustutatud print (s.age)

Eeltoodu väljund on.

John

2. 3

Tõsi

AttributeError: Objektil „Tudeng” pole atribuuti „vanus”

Selle artikliga Python Constructors edasi liikudes

Sisseehitatud klassi atribuudid

Koos sisseehitatud klassi funktsioonidega on Pythonil sisseehitatud klassi atribuudid, mis on kohati kasulikud. Mõned kõige olulisemad sisseehitatud klassi atribuudid on toodud allpool.

  1. __dict__: Selle abil saate vaadata sõnastikku, mis sisaldab teavet klassi nimeruumi kohta.
  2. __nimi__: kasutage seda atribuuti, kui peate vaatama praeguse klassi nime.
  3. __doc__: See atribuut sisaldab stringi, millel on praeguse klassi dokumentatsioon.
  4. __module__: Kui peate juurde pääsema moodulile, milles klass on määratletud, kasutage seda sisseehitatud atribuuti.
  5. __baasid__: Kui peate vaatama kõiki baasklasse sisaldavat komplekti, siis kasutage seda funktsiooni.

Allpool on toodud näide kõigi sisseehitatud klassi atribuutide selgitamiseks.

klass Õpilane: def __init __ (ise, nimi, ID, vanus): ise.nimi = nimi ise.id = id ise.vanus = vanus def kuva_andmed (ise): print ('Nimi:% s, ID:% d, vanus :% d '% (enese.nimi, isetunnus)) s = õpilane (' John ', 101,22) print (s .__ doc__) print (s .__ dict__) print (s .__ moodul__)

See viib meid Pythoni konstruktorite teemalise artikli lõppu.

Põhjalike teadmiste saamiseks Pythoni kohta koos selle erinevate rakendustega saate seda teha reaalajas veebikoolituse jaoks, millel on 24-tunnine tugi ja juurdepääs kogu elule.

Kas teil on meile küsimus? Mainige neid 'Pythoni õpetuse' kommentaaride jaotises ja me pöördume teie poole.