Python Constructors: Vse, kar morate vedeti



Ta članek vas bo seznanil z zanimivo temo, ki je preprosta, a ključna za programiranje, pri tem pa mislim na Python konstruktorje.

Ta članek vam bo predstavil zanimivo temo, ki je preprosta, a ključna za programiranje konstruktorji. V tem članku bodo zajeti naslednji napotki:

Začnimo torej,





Python konstruktorji

Če že nekaj časa programirate, ste verjetno prevečkrat naleteli na ime Python. Python kot programski jezik sledi objektni usmerjenosti, kar pomeni, da je vsak primerek, ki je ustvarjen na platformi, opredeljen kot objekt. Čeprav ima večina komponent v Pythonu na spletu veliko informacij, je ena od tem, ki se vedno znova raziskuje, tista o konstruktorju v Pythonu. Zato bomo v tem članku razpravljali o konstruktorjih v Pythonu, kako jih lahko izkoristite in o koristih, ki jih prinašajo mizi. Začnimo!

Nadaljujemo s tem člankom o Python Constructors,



Kaj je konstruktor v Pythonu?

Konstruktor lahko preprosto definiramo kot posebno vrsto metode ali funkcije, s katero lahko inicializiramo primerke različnih članov v razredu.

V Pythonu obstajata dve različni vrsti konstruktorjev.

  • Neparametrizirani konstruktor: Konstruktorji v Pythonu, ki nimajo parametrov, so znani kot neparametrizirani konstruktor.
  • Parametrizirani konstruktor: Konstruktor, ki ima vnaprej določen parameter, je znan kot parametrizirani konstruktor.

Konstruktor je definiran v trenutku, ko ustvarimo objekt znotraj razreda. Prisotnost konstruktorja tudi potrjuje, da je na voljo dovolj virov, tako da je zagonsko nalogo mogoče enostavno izvršiti prek predmeta razreda.



Nadaljujemo s tem člankom o Python Constructors,

Ustvarjanje konstruktorja v Pythonu

Zdaj, ko ste se seznanili z definicijo in vrstami konstruktorjev v Pythonu, raziščimo, kako lahko ustvarimo konstruktor v Pythonu.

Če želite v Pythonu ustvariti konstrukt, morate uporabiti funkcijo in metodo __init__. To metodo morate poklicati v trenutku, ko je razred ustvarjen. Ko je funkcija __init__ definirana in poklicana, lahko v času ustvarjanja predmetnih razredov posredujemo poljubno število argumentov, odvisno od vaših potreb. Najpogostejša uporaba konstruktorja v Pythonu je inicializacija atributov razreda.

Opomba:

uporaba iteratorja v javi

Vsak razred, ki ga ustvarite v Pythonu, mora imeti prisoten konstruktor, da lahko deluje, tudi če je privzeti konstruktor.

Če želite bolje razumeti ta koncept, si oglejte spodnji primer.

class Zaposleni: def __init __ (self, name, id): self.id = id self.name = name def display (self): print ('ID:% d nName:% s'% (self.id, self.name )) emp1 = Zaposleni ('John', 101) emp2 = Zaposleni ('David', 102) #accessing display () metoda za tiskanje informacij o zaposlenem 1 emp1.display () #accessing display () metoda za tiskanje informacij o zaposlenem 2 emp2 .display ()

Ko zaženete zgornji program, bo rezultat videti približno tako.

ID: 101

Ime: John

ID: 102

Ime: David

Nadaljujemo s tem člankom o Python Constructors,

Razlika med parametriziranim in neparametriziranim konstruktorjem

Kot je omenjeno v zgornjih definicijah, je parametrizirani konstruktor tisti, ki ima vnaprej določeno vrednost, in neparametriziran konstruktor, ki mu ni dodeljena nobena vrednost. Medtem ko se programiranje primerov uporabe razlikuje glede na kontekst, in če želite to bolje razumeti, si oglejte spodnje primere.

class Student: #Constructor - neparametriziran def __init __ (self): print ('To je neparametriziran konstruktor') def show (self, name): print ('Hello', name) student = Student () student.show (' Janez ')

Zgornji primer je primer neparametriziranega konstruktorja, njegov izhod pa bo naslednji.

To je neparametriziran konstruktor

Pozdravljeni John

globoka vs plitva kopija java
razred Student: #Constructor - parametriziran def __init __ (self, name): print ('To je parametrizirani konstruktor') self.name = name def show (self): print ('Hello', self.name) student = Student (' Janez ') student.show ()

Zgornji primer je primer parametriziranega konstruktorja, njegov izhod pa bo naslednji.

To je parametrizirani konstruktor

Pozdravljeni John

Nadaljujemo s tem člankom o Python Constructors,

V vgrajene funkcije razreda v Pythonu

Zdaj, ko so osnove konstruktorja v Pythonu jasne, raziščimo različne vgrajene razrede, ki so prisotni v Pythonu.

kako zbrati programe Java
  1. getattr (obj, ime, privzeto): Ta vgrajena funkcija v Pythonu se uporablja za dostop do atributov razreda.
  2. delattr (obj, name): Če morate v razredu izbrisati določen atribut, potem uporabite to vgrajeno funkcijo.
  3. setattr (obj, ime, vrednost): Če se v določeni situaciji odločite, da določeno vrednost nastavite na določen atribut, uporabite to funkcijo, ki je vgrajena v Python.
  4. hasattr (obj, name): Nenazadnje, če želite preveriti, ali določen predmet vsebuje atribut, uporabite to funkcijo. Po izvedbi bo to vrnilo vrednost true, če je v funkciji prisoten atribut.

Če želite razumeti koncept vgrajenih funkcij razreda v Pythonu, si oglejte spodnjo kodo.

razred študent: def __init __ (jaz, ime, id, starost): self.name = ime self.id = id self.age = starost # ustvarja predmet razreda Student s = študent ('John', 101,22) #prints ime atributa predmeta s print (getattr (s, 'name')) # ponastavi vrednost starosti atributa na 23 setattr (s, 'age', 23) # natisne spremenjeno vrednost starosti print (getattr ( s, 'age')) # natisne true, če študent vsebuje atribut z imenom id print (hasattr (s, 'id')) # izbriše atribut age delattr (s, 'age') # to bo povzročilo napako, ker atribut starost je bil izbrisan natisni (s.age)

Rezultat za zgoraj bo.

Janez

2. 3

Prav

AttributeError: objekt 'Študent' nima atributa 'starost'

Nadaljujemo s tem člankom o Python Constructors,

Vgrajeni atributi razreda

Python ima poleg vgrajenih funkcij razreda tudi vgrajene atribute razredov, ki so včasih prav. Nekateri najpomembnejši atributi vgrajenega razreda so navedeni spodaj.

  1. __dict__: S tem si lahko ogledate slovar, ki vsebuje informacije o imenskem prostoru razreda.
  2. __name__: Uporabite ta atribut, če si želite ogledati ime trenutnega razreda.
  3. __doc__: Ta atribut vsebuje niz, ki vsebuje dokumentacijo za trenutni razred.
  4. __module__: Če želite dostopati do modula, v katerem je definiran razred, uporabite ta vgrajeni atribut.
  5. __bases__: Če si želite ogledati nabor, ki vključuje vse osnovne razrede, uporabite to funkcijo.

Primer pojasnitve vseh vgrajenih atributov razreda je spodaj.

razred Študent: def __init __ (self, ime, id, starost): self.name = ime self.id = id self.age = starost def display_details (self): print ('Ime:% s, ID:% d, starost :% d '% (self.name, self.id)) s = Student (' John ', 101,22) print (s .__ doc__) print (s .__ dict__) print (s .__ module__)

S tem smo prišli do konca tega članka o Python Constructors.

Če želite pridobiti poglobljeno znanje o Pythonu skupaj z različnimi aplikacijami, lahko za spletno usposabljanje v živo s podporo 24 ur na dan in 7 dni v tednu.

Imate vprašanje za nas? Omenite jih v oddelku za komentarje v 'Vadnici za Python' in javili se vam bomo.