Tämä artikkeli esittelee sinulle mielenkiintoisen aiheen, joka on yksinkertainen mutta ydin ohjelmoinnille, viittaan siihen rakentajat. Seuraavat vihjeet käsitellään tässä artikkelissa,
- Python-rakentajat
- Mikä on rakentaja Pythonissa?
- Rakentajan luominen Pythonissa
- Ero parametroidun ja ei-parametroidun rakentajan välillä
- Sisäänrakennetut luokan toiminnot Pythonissa
- Sisäänrakennetut luokan määritteet
Joten aloitetaan sitten,
Python-rakentajat
Jos olet ohjelmoinut jo jonkin aikaa, olet todennäköisesti törmännyt nimiin Python liian monta kertaa. Python ohjelmointikielenä seuraa kohteen suuntaa, mikä tarkoittaa, että jokainen alustalle luotu esiintymä määritellään objektiksi. Vaikka suurimmalla osalla Pythonin komponenteista on paljon tietoa verkossa, yksi aihe, jota tutkitaan jatkuvasti uudestaan, on Pythonin rakentajan aihe. Siksi keskustelemme tässä artikkelissa kaikesta Pythonin rakentajista, kuinka voit hyödyntää niitä ja niiden tarjoamia etuja pöydälle. Aloitetaanpa!
Tämän Python Constructors -artikkelin kanssa jatketaan,
Mikä on rakentaja Pythonissa?
Rakentaja voidaan yksinkertaisesti määritellä erityistyyppiseksi menetelmäksi tai toiminnoksi, jota voidaan käyttää luokan eri jäsenten esiintymien alustamiseen.
Pythonissa on kaksi erityyppistä konstruktoria.
- Parametroimaton konstruktori: Pythonin konstruktorit, joilla ei ole parametreja, tunnetaan parametroimattomana konstruktorina.
- Parametroitu konstruktori: Rakentaja, jolla on ennalta määritetty parametri, tunnetaan parametrisoituna konstruktorina.
Rakentaja määritellään hetkellä, kun luomme objektin luokan sisällä. Rakentajan läsnäolo varmistaa myös, että resursseja on riittävästi, jotta käynnistystehtävän voi helposti suorittaa luokan objektin kautta.
Tämän Python Constructors -artikkelin kanssa jatketaan,
Rakentajan luominen Pythonissa
Nyt kun olet tutustunut Pythonin konstruktoreiden määritelmään ja tyyppiin, tutkitaan, miten voimme luoda konstruktorin Pythoniin.
Pythonissa, jos haluat luoda rakenteen, sinun on käytettävä __init__ -funktiota ja -menetelmää. Sinun on käytettävä tätä menetelmää heti, kun luokka on instantoitu. Kun __init__-funktio on määritelty ja kutsuttu, voimme välittää minkä tahansa määrän argumentteja luokan objektien luomisen yhteydessä tarpeidesi mukaan. Rakentajan yleisin käyttö Pythonissa on luokan ominaisuuksien alustaminen.
Huomautus:
Suorita pesäkysely komentoriviltä
Jokaisessa Pythonissa luomassasi luokassa on oltava konstruktori läsnä, jotta se toimisi, vaikka se oletusrakentaja olisikin.
Katsokaa alla olevaa esimerkkiä ymmärtääksesi tämän käsitteen paremmin.
luokan työntekijä: def __init __ (itse, nimi, id): self.id = id self.name = nimi def display (self): print ('ID:% d nName:% s'% (self.id, self.name )) emp1 = Employee ('John', 101) emp2 = Employee ('David', 102) #accessing display () -tapa työntekijän 1 tiedon tulostamiseen emp1.display () #accessing display () menetelmä työntekijän 2 tiedon tulostamiseksi emp2 .näyttö()
Kun suoritat yllä olevan ohjelman, lähtö näyttää tältä.
Henkilötunnus: 101
Nimi: John
Henkilötunnus: 102
Nimi: David
Tämän Python Constructors -artikkelin kanssa jatketaan,
Ero parametroidun ja ei-parametroidun rakentajan välillä
Kuten yllä olevissa määritelmissä on mainittu, parametrisoitu konstruktori on sellainen, jolla on ennalta määritetty arvo, ja parametrisoimaton konstruktori on sellainen, jolle ei ole määritetty arvoa. Ohjelmoinnin aikana käyttötapaukset vaihtelevat kontekstista riippuen, ja ymmärrä tämä paremmin katsomalla alla olevia esimerkkejä.
mihin kevätkehystä käytetään
luokka Opiskelija: # Rakentaja - parametrittamaton def __init __ (itse): print ('Tämä ei ole parametrisoitu rakennuttaja') def näytä (itse, nimi): tulosta ('Hei', nimi) opiskelija = Opiskelija () opiskelija.show (' John ')
Yllä oleva on esimerkki ei-parametroidusta rakentajasta, ja sen tulos on seuraava.
Tämä on parametrisoimaton konstruktori
Hei John
luokka Opiskelija: # Rakentaja - parametroitu def __init __ (itse, nimi): tulosta ('Tämä on parametrisoitu rakennuttaja') itse.nimi = nimi def näytä (itse): tulosta ('Hei', itseimi) opiskelija = Opiskelija (' John ') opiskelija.show ()
Yllä oleva on esimerkki parametrisoidusta rakentajasta, ja sen tulos on seuraava.
Tämä on parametrisoitu konstruktori
Hei John
Tämän Python Constructors -artikkelin kanssa jatketaan,
Sisäänrakennetut luokan toiminnot Pythonissa
Nyt kun Pythonin rakentajan perusteet ovat selvät, tutkitaan Pythonissa olevia erilaisia sisäänrakennettuja luokkia.
miten testata tietokantaa
- getattr (obj, nimi, oletus): Tätä Pythonin sisäänrakennettua toimintoa käytetään pääsemään luokan määritteisiin.
- delattr (obj, nimi): Jos haluat poistaa tietyn määritteen luokasta, käytä tätä sisäänrakennettua toimintoa.
- setattr (obj, nimi, arvo): Jos päätät asettaa tietyssä tilanteessa tietyn arvon tietylle määritteelle, käytä tätä toimintoa, joka on sisäänrakennettu Pythonissa.
- hasattr (obj, nimi): Viimeisenä mutta ei vähäisimpänä, jos haluat nähdä, onko tietyssä objektissa attribuutti, käytä tätä toimintoa. Suorituksen jälkeen tämä palauttaa arvon tosi, jos funktiossa on määritteitä.
Katsokaa alla olevaa koodia ymmärtääksesi sisäänrakennettujen luokkatoimintojen käsitteen Pythonissa.
luokan opiskelija: def __init __ (itse, nimi, id, ikä): itse.nimi = nimi itse.id = id itse.vamma = ikä #luodaan luokan kohde Opiskelija s = opiskelija ('John', 101,22) # tulostaa objektin tulostuksen attribuutin nimen (getattr (s, 'nimi')) # palauttaa määritteen ikä arvoksi 23 setattr (s, 'ikä', 23) # tulostaa muokatun ikäisen tuloksen arvon (getattr ( s, 'ikä')) # tulostaa tosi, jos opiskelija sisältää attribuutin nimen id tulostaa (hasattr (s, 'id')) # poistaa attribuutin ikä delattr (s, 'ikä') # tämä antaa virheen, koska määritteen ikä on poistettu print (s.age)
Yllä olevan tuotos on.
John
2. 3
Totta
AttributeError: ”Opiskelija” -objektilla ei ole määritettä ”ikä”
Tämän Python Constructors -artikkelin kanssa jatketaan,
Sisäänrakennetut luokan määritteet
Sisäänrakennettujen luokkatoimintojen ohella Pythonissa on sisäänrakennetut luokan määritteet, jotka ovat ajoittain hyödyllisiä. Jotkut merkittävimmistä sisäänrakennetuista luokan määritteistä ovat alla annettuja.
- __dict__: Tämän avulla voit tarkastella sanakirjaa, joka sisältää tietoa luokan nimiavaruudesta.
- __nimi__: Käytä tätä määritettä, jos haluat tarkastella nykyisen luokan nimeä.
- __doc__: Tämä attribuutti sisältää merkkijonon, jolla on nykyisen luokan dokumentaatio.
- __module__: Jos haluat käyttää moduulia, jossa luokka on määritelty, käytä tätä sisäänrakennettua määritettä.
- __bases__: Jos haluat tarkastella sarjaa, joka sisältää kaikki perusluokat, käytä tätä toimintoa.
Alla on esimerkki kaikkien sisäänrakennettujen luokan määritteiden selventämisestä.
luokka Opiskelija: def __init __ (itse, nimi, id, ikä): itse.nimi = nimi itse.id = id itse. ikä = ikä def näyttö_tiedot (itse): tulosta ('Nimi:% s, ID:% d, ikä :% d '% (self.name, self.id)) s = Opiskelija (' John ', 101,22) print (s .__ doc__) print (s .__ dict__) print (s .__ module__)
Tämä tuo meidät tämän Python Constructors -artikkelin loppuun.
Voit saada syvällistä tietoa Pythonista sen eri sovellusten kanssa live-verkkokoulutukseen 24/7 tuella ja käyttöikä.
Onko sinulla kysymys meille? Mainitse ne Python-opetusohjelman kommenttiosassa ja palaamme sinuun.