Sisukord
- Keskkonna seadistamine
- Kohaliku keskkonna seadistamine
- Kuidas Pythonit hankida
- Kuidas Pythonit installida
- Windowsi installimine
- Unixi / Linuxi installimine
- MAC-i installimine
- Pythoni tee seadistamine
- Unixi/Linuxi tee määramine
- Windowsi tee määramine
- Pythoni keskkonnamuutujad
- Pythoni käivitamine
- Põhiline süntaks
- Pythoni identifikaatorid
- Pythoni avaldus
- Taanded Pythonis
- Kommentaarid Pythonis
- Sisestuse saamine
- Kuva väljund
- Muutujate tüübid
- Muutujatele väärtuste määramine
- Pythoni andmetüübid
- Stringid
- Kordad
- Loendid
- Numbrid
- Põhioperaatorid
- Ülesandeoperaator
- Bitioperaator
- Loogiline operaator
- Aritmeetiline operaator
- Võrdlusoperaator
- Identiteedi operaator
- Liikmelisuse operaator
- Otsuse tegemine
- Kui avaldus
- kui-muidu
- Pesastatud kui
- Kui-elif-muidu-redel
- Lühikiri kui väide
- Lühike kui-muidu avaldus
- Silmused
- Kuigi Loop
- Loopi jaoks
- Pesastatud silmused
- Loop Control avaldused
- Jätka avaldust
- Katkestusavaldus
- Läbimise avaldus
- Numbrid
- Numbritüübi teisendamine
- Juhuslike arvude funktsioonid
- Trigonomeetrilised funktsioonid
- Matemaatilised funktsioonid
- Stringid
- Stringi loomine
- Stringi erioperaatorid
- Stringi vormindamise operaatorid
- Põgenemistegelased
- Sisseehitatud stringimeetodid
- Kordad
- Juurdepääs väärtustele Tuples
- Kordate värskendamine
- Korpuse põhioperaatorid
- Sisseehitatud mitmekordsed funktsioonid
- Indekseerimine ja viilutamine
- Korpuse kustutamine
- Loendid
- Juurdepääs väärtustele loendites
- Nimekirjade värskendamine
- Põhiloendi operaatorid
- Sisseehitatud funktsioonide ja meetodite loend
- Indekseerimine ja viilutamine
- Kustuta loendite element
- Sõnastik
- Sõnastiku koostamine
- Elementide lisamine sõnastikku
- Elementide eemaldamine sõnastikust
- Pythoni sõnastiku meetodid
- Päev ja aeg
- Time Tuple
- Aja moodul
- Kalendri moodul
- Funktsioonid
- Kuidas defineerida funktsiooni
- Funktsiooni kutsumine
- Mööda viide
- Mööda väärtust
- Funktsiooni argumendid
- Muutuva pikkusega argumendid
- Nõutavad argumendid
- Vaikeargumendid
- Märksõna argumendid
- Anonüümsed funktsioonid
- Moodulid
- Impordi avaldus
- Impordi avaldus
- Impordist * avaldus
- Moodulite asukoha määramine
- Funktsioonid locals() ja globals()
- Nimeruumid ja ulatus
- Diri( ) funktsioon
- Reload() funktsioon
- Failid I/O
- Faili avamine
- Failiobjekti atribuudid
- Faili sulgemine
- Koos avaldusega
- Kirjutamise meetod
- Lugemise meetod
- Rename() meetod
- Eemalda () meetod
- Faili asukoht
- Erandid
- Mis on erand?
- Erandi käsitlemine
- Erandi tõstmine
- Standardsete erandite loend
- Kasutaja määratletud erandid
- Väited Pythonis
- Klassid ja objektid
- CGI programmeerimine
- Veebisirvimine
- HTTP päis
- CGI keskkonnamuutujad
- GET meetod
- POST meetod
- Küpsiste kasutamine CGI-s
- Kuidas see töötab?
- Juurdepääs MySQL andmebaasile
- Andmebaasi tabeli loomine
- INSERT-operatsioon
- LOE Operatsioon
- Värskendusoperatsioon
- Kustutusoperatsioon
- Tehingute sooritamine
- COMMIT operatsioon
- TAGASI TOIMING
- Andmebaasi lahtiühendamine
- Käsitsemisvead
- Võrgud
- Mis on pistikupesad?
- Pistikupesa moodul
- Pythoni Interneti-moodulid
- E-kirja saatmine
- HTML-meili saatmine Pythoni abil
- Manuste saatmine e-kirjana
- Mitme lõimega programmeerimine
- Uue lõime alustamine
- Keermestamise moodul
- Lõimede sünkroonimine
- Mitme lõimega prioriteetne järjekord
- XML-i töötlemine
- Mis on XML?
- XML-i parseri arhitektuurid ja API-d
- XML-i sõelumine SAX API-dega
- Meetod make_parser
- Sõelumismeetod
- ParseString meetod
- GUI programmeerimine
- Tkinteri vidinad
- Geomeetria haldamine
- Soovitatavad artiklid
Klassid ja objektid
Python on objektorienteeritud keel alates selle olemasolust ning tänu sellele on klasside ja objektide kasutamine ja loomine muutunud lihtsamaks. See peatükk aitab teil saada Pythoni objektorienteeritud programmeerimise toe kasutamise eksperdiks.
Kui teil pole objektorienteeritud programmeerimise kohta piisavalt teadmisi, on siin alustuseks natuke midagi.
- Klass koosneb dokumentatsioonistringist, millele pääseb juurde ClassName.__doc__ kaudu.
- Klassikomplekt koosneb komponentlausetest, mis määratlevad klassi liikmed, andmeatribuudid ja funktsioonid.
- getattr(obj, nimi[, vaikimisi]) – Seda kasutatakse objekti atribuudile juurde pääsemiseks.
- hasattr(obj,nimi) – Seda kasutatakse atribuudi olemasolu kontrollimiseks või mitte.
- setattr(obj,nimi,väärtus) – Seda kasutatakse atribuudi määramiseks. Kui atribuuti pole, luuakse see.
- delattr(obj, nimi) – Seda kasutatakse atribuudi kustutamiseks.
Klasside loomine
Klass loob uue klassimääratluse. Klassi nimele järgneb märksõna klass, millele järgneb koolon.
SÜNTAKS
|_+_|
Klassi objektid
Objekt on klassi eksemplar. Klass on nagu plaan, samas kui see on klassi koopia tegelike väärtustega.

VÄLJUND

Juurdepääs atribuutidele
Objekti atribuutidele pääsete juurde, kasutades objekti juures olevat punktioperaatorit.
Sisseehitatud klassi atribuudid
Iga Pythoni klass järgib sisseehitatud atribuute ja neile pääseb juurde punktioperaatori abil nagu igale teisele atribuudile.
Prügi kogumine
Python kustutab mäluruumi vabastamiseks objektid automaatselt. Protsessi, mille käigus python võtab perioodiliselt tagasi mäluplokke, mida enam ei kasutata, nimetatakse prügikogumiseks.
Püütoni prügikoguja töötab programmi täitmise ajal ja see käivitub, kui objekti viidete arv jõuab nullini.
Objekti viidete arv suureneb, kui sellele omistatakse uus nimi või see paigutatakse konteinerisse (loendisse, korteisse või sõnastikku). Objekti viidete arv väheneb, kui see kustutatakse kohta , määratakse selle viide ümber või läheb selle viide reguleerimisalast välja. Kui objekti viidete arv jõuab nullini, kogub python selle automaatselt.

VÄLJUND

Klassipärand
Samuti saate luua klassi, tuletades selle eelmisest klassist, mainides uue klassi nime järel sulgudes ülemklassi.
Alamklass võib pärida oma ülemklassi atribuudid ja te saate kasutada funktsioone nii, nagu oleksid need alamklassis määratletud. Alamklass võib alistada ka vanema meetodid ja andmeliikmed.
SÜNTAKS
|_+_|Alustavad meetodid
Saate oma vanemklassi meetodid alistada. Vanemmeetodite alistamise põhjus on see, et võite soovida oma alamklassis ainulaadseid või erinevaid funktsioone. Siin on mõned baasülekoormuse meetodid.
jah ei | meetod | Kirjeldus |
üks | __repr__( ise ) | Hinnatav stringi esitus |
kaks | __del__( ise ) | Destruktor, kustutab objekti |
3 | __cmp__ ( ise, x ) | Objektide võrdlus |
4 | __init__ (ise [,argumente…]) | Konstruktor (mis tahes valikuliste argumentidega) |
5 | __str__( ise ) | Prinditav stringi esitus |
Regulaaravaldised
Regulaaravaldis on ainulaadne märgijada, mis aitab teil leida või sobitada stringide komplekte, kasutades mustris sisalduvat spetsiaalset süntaksit. Regulaaravaldisi kasutatakse UNIX-i maailmas laialdaselt.
Pythoni moodul pakub Pythonis Perli-laadsete regulaaravaldiste täielikku tuge. Moodul tõstatab erandi.
Sobitamise funktsioon
See proovib sobitada RE mustrit stringiga valikuliste lippudega.
SÜNTAKS
|_+_|jah ei | Parameeter | Kirjeldus |
üks | lipud | See määrab erinevad lipud, kasutades bitipõhist VÕI (|). |
kaks | muster | See on regulaaravaldis, mis tuleb sobitada. |
3 | string | See on string, mida otsitakse, et see sobiks stringi alguses oleva mustriga. |
Otsingu funktsioon
See otsib valikuliste lippudega stringist RE-mustri esimest esinemist.
SÜNTAKS
|_+_|jah ei | Parameeter | Kirjeldus |
üks | lipud | See määrab erinevad lipud, kasutades bitipõhist VÕI (|). |
kaks | muster | See on regulaaravaldis, mis tuleb sobitada. |
3 | string | See on string, mida otsitakse, et see sobiks stringi alguses oleva mustriga. |
Regulaaravaldise teisendajad
jah ei | Parameeter | Kirjeldus |
üks | re.M | See paneb $ vastama rea lõpule ja paneb ^ sobitama mis tahes rea algust. |
kaks | re.L | See tõlgendab sõnu vastavalt praegusele lokaadile. Tõlgendus mõjutab nii tähestikurühma kui ka sõnapiiri käitumist. |
3 | re.U | See tõlgendab tähti vastavalt Unicode'i märgistikule. Lipp mõjutab w, W, , B käitumist. |
4 | re.X | See võimaldab armsamat regulaaravaldise süntaksit. See ignoreerib tühikuid ja käsitleb paopaosita # kommentaarimarkerina. |
5 | re.S | See muudab punkti sobitumaks mis tahes tähemärgiga, sealhulgas reavahetusega. |
6 | re.I | See teostab tõstutundlikku sobitamist. |
Regulaaravaldise mustrid
jah ei | Muster | Kirjeldus |
üks | . | See sobib ühe märgiga, välja arvatud reavahetus. |
kaks | a| b | See sobib kas a või b-ga. |
3 | […] | See vastab ühele sulgudes olevale märgile. |
4 | [^…] | See vastab ühele märgile, mitte sulgudes |
5 | $ | See sobib rea lõpuga. |
6 | ^ | See sobib rea algusega. |
7 | re* | See vastab 0 või enamale eelneva avaldise esinemissagedusele. |
8 | re+ | See sobib ühe või mitme eelneva avaldise esinemisega. |
9 | re? | See vastab eelmise avaldise 0 või 1 esinemissagedusele. |
10 | re{ n} | See vastab täpselt eelmise avaldise n esinemissageduse arvule. |
üksteist | re{ n, m} | See ühtib vähemalt n ja m eelneva avaldise esinemisega. |
12 | re{ n,} | See vastab n või enamale eelneva avaldise esinemisele. |
13 | (re) | See rühmitab regulaaravaldised ja jätab meelde sobitatud teksti. |
14 | (?imx) | See lülitab regulaaravaldises ajutiselt sisse suvandid i, m või x. |
viisteist | (?imx: re) | See lülitab ajutiselt sisse sulgudes olevad suvandid i, m või x. |
16 | ?: re) | See rühmitab regulaaravaldised ilma sobitatud teksti meelde jätmata. |
17 | (?-imx) | See lülitab regulaaravaldises ajutiselt välja suvandid i, m või x. |
18 | (?-imx: re) | See lülitab sulgudes olevad suvandid i, m või x ajutiselt välja. |
19 | (?#…) | kommenteerida. |
kakskümmend | (?= uuesti) | See määrab positsiooni mustri abil. Sellel pole vahemikku. |
kakskümmend üks | (?! uuesti) | See määrab asukoha, kasutades mustri eitust. sellel pole vahemikku. |
22 | (?> uuesti) | See sobib sõltumatu mustriga ilma tagasitõmbumiseta. |
23 | Sisse | See sobib sõnamärkidega. |
24 | IN | See sobib mittesõnaliste tähemärkidega. |
25 | S | See vastab tühikuteta. |
26 | s | See sobib tühikuga. |
27 | D | See vastab mittenumbritele. |
28 | d | See vastab numbritele. Samaväärne [0-9]. |
29 | 10 | See vastab n-ndale grupeeritud alamavaldisele, kui see juba ühtib. Vastasel juhul viitab see märgikoodi kaheksandkujulisele esitusviisile. |
30 | TO | See sobib stringi algusega. |
31 | WITH | See sobib stringi lõpuga. Kui reavahetus on olemas, sobib see vahetult enne reavahetust. |
32 | koos | See sobib stringi lõpuga. |
33 | G | See ühtib punktiga, kus viimane matš lõppes. |
3. 4 | , jne. | See sobib reavahetustega, vankri tagastustega, vahekaartidega jne. |
35 | B | See sobib mittesõnaliste piiridega. |
36 | 1…9 | See sobib n-nda grupeeritud alamväljendiga. |
37 | See sobib tagasilükkeklahviga (0x08), kui see on sulgudes. |
Tegelaste klassid
jah ei | Näide | Kirjeldus |
üks | [aeiou] | See vastab ühele väiketähelisele vokaalile |
kaks | [0-9] | See vastab mis tahes numbrile; sama mis [0123456789] |
3 | [Pp] ython | See sobib Pythoniga või Pythoniga |
4 | [a-z] | See sobib iga väikese ASCII tähega |
5 | hõõru [te] | See sobib rubiini või rubiiniga |
6 | [^aeiou] | See sobib kõige muuga peale väiketähelise vokaali |
7 | [^0-9] | See vastab kõigele muule peale numbri |
8 | [a-zA-Z0-9] | See vastab ükskõik millisele ülaltoodust |
9 | [A-Z] | See sobib kõigi ASCII suurtähtedega |
10 | . | See sobib ühe märgiga, välja arvatud reavahetus. |
üksteist | Sisse | See sobib sõnamärkidega. |
12 | IN | See sobib mittesõnaliste tähemärkidega. |
13 | S | See vastab tühikuteta. |
14 | s | See sobib tühikuga. |
viisteist | D | See vastab mittenumbritele. |
16 | d | See vastab numbritele. Samaväärne [0-9]. |
Kordusjuhtumid
jah ei | Näide | Kirjeldus |
üks | rubiin+ | See vastab hõõrumisele pluss 1 või enam ys |
kaks | rubiin* | See vastab rubriigile hõõrumine pluss 0 või enam y |
3 | rubiin? | See sobib rubiini või rubiiniga: y on valikuline |
4 | d{3} | See vastab täpselt 3 numbrile |
5 | d{3,} | See vastab 3 või enamale numbrile |
6 | d{3,5} | See vastab 3, 4 või 5 numbrile |
Ankrud
jah ei | Näide | Kirjeldus |
üks | Python Z | See vastab Pythonile stringi lõpus. |
kaks | Python$ | See vastab Pythonile stringi või rea lõpus. |
3 | ^Python | See vastab Pythonile stringi või sisemise rea alguses. |
4 | APython | See vastab Pythonile stringi alguses. |
5 | Python (?=!) | See sobib Pythoniga, kui sellele järgneb hüüumärk. |
6 | Python (?!!) | See sobib Pythoniga, kui sellele ei järgne hüüumärki. |
7 | Python | See vastab Pythonile sõnapiiril. |