Ohjelmointi

Lopullinen Python-aloittelijan opas

30. lokakuuta 2021

Sisällysluettelo

  • Ympäristön asetukset
    • Paikallisen ympäristön asetukset
    • Kuinka saada Python
    • Kuinka asentaa Python
    • Windowsin asennus
    • Unix/Linux asennus
    • MAC-asennus
    • Polun määrittäminen Pythonille
    • Asetuspolku Unix/Linuxille
    • Polun asettaminen Windowsille
  • Python-ympäristömuuttujat
    • Python käynnissä
  • Perussyntaksi
    • Python-tunnisteet
    • Python-lausunto
    • Sisennykset Pythonissa
    • Kommentit Pythonissa
    • Haetaan syötettä
    • Näytä lähtö
  • Muuttujatyypit
    • Arvojen määrittäminen muuttujille
    • Python-tietotyypit
    • jouset
    • Tuples
    • Luettelot
    • Numerot
  • Perusoperaattorit
    • Tehtäväoperaattori
    • Bittikohtainen operaattori
    • Looginen operaattori
    • Aritmeettinen operaattori
    • Vertailuoperaattori
    • Identiteettioperaattori
    • Jäsenyysoperaattori
  • Päätöksenteko
    • Jos lausunto
    • tai muuten
    • Sisäkkäinen jos
    • Jos-elif-toisen-tikkaat
    • Pikakirjoitus if-lause
    • Lyhyesti jos-else-lause
  • Silmukat
    • Vaikka Loop
    • For Loop
    • Sisäkkäiset silmukat
    • Loop Control -lauseet
    • Jatka lausuntoa
    • Katkoilmoitus
    • Passilausunto
  • Numerot
    • Numerotyypin muunnos
    • Satunnaislukufunktiot
    • Trigonometriset funktiot
    • Matemaattiset funktiot
  • jouset
    • Merkkijonon luominen
    • String Erikoisoperaattorit
    • Merkkijonojen muotoiluoperaattorit
    • Pakohahmot
    • Sisäänrakennetut merkkijonomenetelmät
  • Tuples
    • Arvojen käyttäminen Tuplesissa
    • Tuples päivitetään
    • Tuplen perusoperaattorit
    • Sisäänrakennettu Tuple Functions
    • Indeksointi ja viipalointi
    • Tuplen poistaminen
  • Luettelot
    • Arvojen käyttäminen luetteloissa
    • Listojen päivittäminen
    • Perusluettelon operaattorit
    • Sisäänrakennettu luettelo toiminnoista ja menetelmistä
    • Indeksointi ja viipalointi
    • Poista listat-elementti
  • Sanakirja
    • Sanakirjan luominen
    • Elementtien lisääminen sanakirjaan
    • Elementtien poistaminen sanakirjasta
    • Python-sanakirjamenetelmät
  • Päivämäärä ja aika
    • Aika Tuple
    • Aika moduuli
    • Kalenteri moduuli
  • Toiminnot
    • Kuinka määritellä funktio
    • Toiminnon kutsuminen
    • Läpi viitteellä
    • Ohita arvo
    • Funktioargumentit
    • Vaihtuvapituiset argumentit
    • Vaaditut argumentit
    • Oletusargumentit
    • Avainsana-argumentit
    • Anonyymit toiminnot
  • Moduulit
    • Tuo ilmoitus
    • Tuontilausunto
    • Tuonnista * Lausunto
    • Moduulien sijainti
    • Locals()- ja globals()-funktiot
    • Nimiavaruudet ja laajuus
    • dir( ) -funktio
    • Reload()-funktio
  • Tiedostot I/O
    • Tiedoston avaaminen
    • Tiedostoobjektin attribuutit
    • Tiedoston sulkeminen
    • Lausunnon kanssa
    • Kirjoitusmenetelmä
    • Lukumenetelmä
    • Rename()-metodi
    • Poista()-menetelmä
    • Tiedoston sijainti
  • Poikkeukset
    • Mikä on poikkeus?
    • Poikkeuksen käsittely
    • Poikkeuksen esittäminen
    • Luettelo vakiopoikkeuksista
    • Käyttäjän määrittämät poikkeukset
    • Väitteet Pythonissa
  • Luokat ja esineet
  • CGI ohjelmointi
    • Nettiselailu
    • HTTP-otsikko
    • CGI-ympäristömuuttujat
    • GET-menetelmä
    • POST-menetelmä
    • Evästeiden käyttö CGI:ssä
    • Kuinka se toimii?
  • MySQL-tietokannan käyttö
    • Tietokantataulukon luominen
    • INSERT-toiminto
    • LUE Käyttö
    • Päivitä toiminta
    • POISTA-toiminto
    • Liiketoimien suorittaminen
    • COMMIT-toiminto
    • ROLLBACK-toiminto
    • Tietokannan yhteyden katkaiseminen
    • Käsittelyvirheet
  • Verkot
    • Mitä ovat pistorasiat?
    • Pistorasian moduuli
    • Python Internet-moduulit
  • Sähköpostin lähettäminen
    • HTML-sähköpostin lähettäminen Pythonilla
    • Liitteiden lähettäminen sähköpostina
  • Monisäikeinen ohjelmointi
    • Aloitetaan uusi ketju
    • Langoitusmoduuli
    • Synkronoidaan säikeitä
    • Monisäikeinen prioriteettijono
  • XML-käsittely
    • Mikä on XML?
    • XML Parser -arkkitehtuurit ja API:t
    • XML:n jäsentäminen SAX API:illa
      • Make_parser -menetelmä
      • Jäsennysmenetelmä
      • ParseString-menetelmä
  • GUI ohjelmointi
    • Tkinter-widgetit
  • Geometrian hallinta
  • Suositellut artikkelit

Luokat ja esineet

Python on oliokieli olemassaolostaan ​​lähtien, ja tämän vuoksi luokkien ja objektien käyttäminen ja luominen on tullut helpommaksi. Tämä luku auttaa sinua tulemaan asiantuntijaksi Pythonin olio-ohjelmointituen käytössä.

Jos sinulla ei ole tarpeeksi tietoa olio-ohjelmoinnista, tässä on vähän aloitusta.

    Luokka− Se on käyttäjän määrittämä prototyyppi objektille, joka määrittää joukon attribuutteja, jotka kuvaavat mitä tahansa luokan objektia. Luokkamuuttujat ja ilmentymämuuttujat ja -menetelmät, joihin päästään pistemerkinnällä.Esine− Se on tietorakenteen esiintymä, jonka sen luokka määrittelee. Objekti sisältää sekä luokkamuuttujia että ilmentymämuuttujia.Luokkamuuttuja− Se on muuttuja, jonka luokan kaikki esiintymät jakavat. Luokkamuuttuja määritellään luokan sisällä, mutta minkä tahansa luokkametodin ulkopuolella. Luokkamuuttujia ei käytetä usein esiintyvinä muuttujina.Datan jäsen− se on ilmentymämuuttuja, joka pitää kiinni luokkaan ja sen objekteihin liittyvästä datasta.Instanssimuuttuja− Se on muuttuja, joka yleensä määritellään metodin sisällä ja kuuluu luokan nykyiseen esiintymään.Toiminnan ylikuormitus− Yhden tai useamman käyttäytymisen määrittäminen tietylle toiminnolle. Suoritettava toiminto vaihtelee mukana olevien objektien tai argumenttien tyypin mukaan.Kuljettajan ylikuormitus− Yhden tai useamman toiminnon määrittäminen tietylle käyttäjälle.Perintö− Se on luokan ominaisuuksien siirtämistä muihin luokkiin, jotka on johdettu siitä.Menetelmä− Se on erityinen funktio, joka määritellään luokkamäärityksessä.

Luokkien luominen

Luokka luo uuden luokan määritelmän. Luokan nimeä seuraa avainsana class ja kaksoispiste.

SYNTAKSI

|_+_|
  • Luokka koostuu dokumentaatiomerkkijonosta, johon päästään ClassName.__doc__:n kautta.
  • Class_suite koostuu komponenttikäskyistä, jotka määrittelevät luokan jäsenet, dataattribuutit ja funktiot.
img 617dd27284418

Luokkaobjektit

Objekti on luokan esiintymä. Luokka on kuin suunnitelma, kun taas se on kopio luokasta todellisilla arvoilla.

img 617dd272d3ac5

OUTPUT

img 617dd273361bc

Attribuuttien käyttö

Voit käyttää kohteen attribuutteja käyttämällä pisteoperaattoria objektin kanssa.

  • getattr(obj, nimi[, oletus]) − Sitä käytetään objektin attribuutin käyttämiseen.
  • hasattr(obj,nimi) − Sitä käytetään tarkistamaan, onko attribuutti olemassa vai ei.
  • setattr(obj,nimi,arvo) − Sitä käytetään määritteen asettamiseen. Jos määritettä ei ole olemassa, se luodaan.
  • delattr(obj, nimi) − Sitä käytetään attribuutin poistamiseen.

Sisäänrakennetut luokan attribuutit

Jokainen Python-luokka seuraa sisäänrakennettuja attribuutteja, ja niihin päästään piste-operaattorilla kuten mihin tahansa muuhun määritteeseen.

    __sanella__− Se on sanakirja, joka sisältää luokan nimiavaruuden.__doc__− Se on luokan dokumentaatiomerkkijono tai ei mitään, jos sitä ei ole määritetty.__nimi__− Luokan nimi.__moduuli__− Se on moduulin nimi, jossa luokka määritellään. Tämä attribuutti on __main__ interaktiivisessa tilassa.__pohjat__− Tyhjä monikko, joka sisältää perusluokan niiden esiintymisjärjestyksessä perusluokkaluettelossa.

Roskakokoelma

Python poistaa objektit automaattisesti vapauttaakseen muistitilaa. Prosessia, jolla python ottaa ajoittain takaisin muistilohkoja, jotka eivät ole enää käytössä, kutsutaan roskien keräämiseksi.

Pythonin roskakeräys toimii ohjelman suorittamisen aikana, ja se laukeaa, kun objektin viiteluku saavuttaa nollan.

Objektin viitemäärä kasvaa, kun sille annetaan uusi nimi tai se sijoitetaan säilöön (luetteloon, monikkoon tai sanakirjaan). Objektin viitemäärä pienenee, kun se poistetaan / , sen viite määrätään uudelleen tai sen viite menee soveltamisalan ulkopuolelle. Kun objektin viiteluku saavuttaa nollan, python kerää sen automaattisesti.

img 617dd273789c9

OUTPUT

img 617dd273c29af

Luokkaperintö

Voit myös luoda luokan johtamalla sen edellisestä luokasta mainitsemalla pääluokan sulkeissa uuden luokan nimen jälkeen.

Aliluokka voi periä yläluokkansa attribuutit, ja voit käyttää ominaisuuksia ikään kuin ne olisi määritetty aliluokkaan. Alaluokka voi myös ohittaa vanhemman menetelmät ja datajäsenet.

SYNTAKSI

|_+_|

Ohittavat menetelmät

Voit ohittaa yläluokkasi menetelmät. Syy ylätason menetelmien ohittamiseen on se, että saatat haluta ainutlaatuisia tai erilaisia ​​toimintoja alaluokkaasi. Tässä on muutamia perusylikuormitusmenetelmiä.

kyllä ​​ei Menetelmä Kuvaus
yksi__repr__( itse )Arvioitava merkkijonoesitys
kaksi__del__( itse )Tuhoaja, poistaa kohteen
3__cmp__ (itse, x )Objektien vertailu
4__init__ (itse [,args…] )Rakentaja (mahdollisilla argumenteilla)
5__str__( itse )Tulostettava merkkijonoesitys

Säännölliset lausekkeet

Säännöllinen lauseke on ainutlaatuinen merkkijono, joka auttaa sinua löytämään tai yhdistämään merkkijonoja käyttämällä kuviossa olevaa erityistä syntaksia. Säännöllisiä lausekkeita käytetään laajalti UNIX-maailmassa.

Python-moduuli tarjoaa täyden tuen Perl-tyyppisille säännöllisille lausekkeille Pythonissa. Moduuli herättää poikkeuksen.

Match-toiminto

Se yrittää sovittaa RE-kuvion merkkijonoon valinnaisilla lipuilla.

SYNTAKSI

|_+_|
kyllä ​​ei Parametri Kuvaus
yksiliputSe määrittää eri liput käyttämällä bittikohtaista OR:ta (|).
kaksikuvioSe on säännöllinen lauseke, joka on sovitettava.
3merkkijonoSe on merkkijono, jota etsitään vastaamaan merkkijonon alussa olevaa kuviota.

Hakutoiminto

Se etsii RE-kuvion ensimmäistä esiintymistä merkkijonosta valinnaisilla lipuilla.

SYNTAKSI

|_+_|
kyllä ​​ei Parametri Kuvaus
yksiliputSe määrittää eri liput käyttämällä bittikohtaista OR:ta (|).
kaksikuvioSe on säännöllinen lauseke, joka on sovitettava.
3merkkijonoSe on merkkijono, jota etsitään vastaamaan merkkijonon alussa olevaa kuviota.

Säännöllisten lausekkeiden muokkaajat

kyllä ​​ei Parametri Kuvaus
yksire.MSe saa $ vastaamaan rivin loppua ja saa ^ vastaamaan minkä tahansa rivin alkua.
kaksire.LSe tulkitsee sanoja nykyisen alueen mukaan. Tulkinta vaikuttaa aakkosryhmään sekä sanan rajakäyttäytymiseen.
3re.USe tulkitsee kirjaimet Unicode-merkistön mukaan. Lippu vaikuttaa w, W, , B toimintaan.
4re.XSe mahdollistaa söpömmän säännöllisen lausekkeen syntaksin. Se jättää välilyönnit huomioimatta ja käsittelee ilmanvaihtomerkkiä # kommenttimerkinnänä.
5re.SSe saa pisteen vastaamaan mitä tahansa merkkiä, mukaan lukien rivinvaihto.
6re.ISe suorittaa isot ja pienet kirjaimet täsmäämisen.

Säännölliset lausekkeet

kyllä ​​ei Kuvio Kuvaus
yksi.Se vastaa yksittäistä merkkiä rivinvaihtoa lukuun ottamatta.
kaksia| bSe vastaa joko a:ta tai b:tä.
3[…]Se vastaa yhtä merkkiä suluissa.
4[^…]Se vastaa yksittäistä merkkiä, joka ei ole suluissa
5$Se sopii rivin loppuun.
6^Se vastaa rivin alkua.
7uudelleen*Se vastaa 0 tai useampaa edellisen lausekkeen esiintymää.
8re+Se vastaa yhtä tai useampaa edellisen lausekkeen esiintymää.
9re?Se vastaa edellisen lausekkeen esiintymää 0 tai 1.
10uudelleen{ n}Se vastaa täsmälleen edellisen lausekkeen n esiintymien lukumäärää.
yksitoistare{ n, m}Se vastaa vähintään n ja m edellisen lausekkeen esiintymää.
12re{ n,}Se vastaa n tai useampaa edellisen lausekkeen esiintymää.
13(uudelleen)Se ryhmittelee säännölliset lausekkeet ja muistaa osuvan tekstin.
14(?imx)Se ottaa tilapäisesti käyttöön i-, m- tai x-vaihtoehdot säännöllisessä lausekkeessa.
viisitoista(?imx: re)Se ottaa tilapäisesti käyttöön suluissa olevat i-, m- tai x-vaihtoehdot.
16?: re)Se ryhmittelee säännölliset lausekkeet muistamatta vastaavaa tekstiä.
17(?-imx)Se kytkee väliaikaisesti pois päältä säännöllisen lausekkeen i-, m- tai x-vaihtoehdot.
18(?-imx: re)Se kytkee suluissa olevat i-, m- tai x-vaihtoehdot väliaikaisesti pois päältä.
19(?#…)Kommentti.
kaksikymmentä(?= uudelleen)Se määrittää sijainnin kuvion avulla. Sillä ei ole aluetta.
kaksikymmentäyksi(?! uudelleen)Se määrittää sijainnin käyttämällä kuvion negaatiota. sillä ei ole aluetta.
22(?> uudelleen)Se sopii itsenäiseen kuvioon ilman perääntymistä.
23SisäänSe vastaa sanan merkkejä.
24SISÄÄNSe vastaa muita kuin sanamerkkejä.
25SSe vastaa ei-välilyöntiä.
26sSe vastaa välilyöntiä.
27DSe vastaa muita kuin numeroita.
28dSe vastaa numeroita. Vastaa [0-9].
2910Se vastaa n:nnettä ryhmiteltyä osalauseketta, jos se vastaa jo. Muuten se viittaa merkkikoodin oktaalimuotoon.
30TOSe vastaa merkkijonon alkua.
31KANSSASe sopii merkkijonon loppuun. Jos rivinvaihto on olemassa, se täsmää juuri ennen rivinvaihtoa.
32kanssaSe sopii merkkijonon loppuun.
33GSe vastaa kohtaa, jossa viimeinen ottelu päättyi.
3. 4 , jne.Se vastaa rivinvaihtoa, rivinvaihtoa, välilehtiä jne.
35BSe vastaa ei-sanojen rajoja.
361…9Se vastaa n:nnettä ryhmiteltyä osalauseketta.
37Se vastaa askelpalautinta (0x08) suluissa.

Hahmoluokat

kyllä ​​ei Esimerkki Kuvaus
yksi[aeiou]Se vastaa mitä tahansa pientä vokaalia
kaksi[0-9]Se vastaa mitä tahansa numeroa; sama kuin [0123456789]
3[Pp]ythonSe vastaa Python tai python
4[a-z]Se vastaa mitä tahansa pientä ASCII-kirjainta
5hiero [te]Se vastaa rubiinia tai rubiinia
6[^aeiou]Se vastaa kaikkea muuta kuin pientä vokaalia
7[^0-9]Se vastaa kaikkea muuta kuin numeroa
8[a-zA-Z0-9]Se vastaa mitä tahansa yllä olevista
9[A-Z]Se vastaa mitä tahansa isoa ASCII-kirjainta
10.Se vastaa yksittäistä merkkiä rivinvaihtoa lukuun ottamatta.
yksitoistaSisäänSe vastaa sanan merkkejä.
12SISÄÄNSe vastaa muita kuin sanamerkkejä.
13SSe vastaa ei-välilyöntiä.
14sSe vastaa välilyöntiä.
viisitoistaDSe vastaa muita kuin numeroita.
16dSe vastaa numeroita. Vastaa [0-9].

Toistotapaukset

kyllä ​​ei Esimerkki Kuvaus
yksirubiini+Se vastaa rub plus 1 tai useampi ys
kaksirubiini*Se vastaa rub plus 0 tai enemmän ys
3rubiini?Se vastaa rubiinia tai rubiinia: y on valinnainen
4d{3}Se vastaa täsmälleen 3 numeroa
5d{3,}Se vastaa 3 tai useampaa numeroa
6d{3,5}Se vastaa 3, 4 tai 5 numeroa

Ankkurit

kyllä ​​ei Esimerkki Kuvaus
yksiPython ZSe vastaa Pythonia merkkijonon lopussa.
kaksiPython$Se vastaa Pythonia merkkijonon tai rivin lopussa.
3^PythonSe vastaa Pythonia merkkijonon tai sisäisen rivin alussa.
4 APythonSe vastaa Pythonia merkkijonon alussa.
5Python(?=!)Se vastaa Pythonia, jos sitä seuraa huutomerkki.
6Python(?!!)Se vastaa Pythonia, jos sitä ei seuraa huutomerkki.
7PythonSe vastaa Pythonia sanan rajalla.