Programmeerimine

Ultimate Pythoni juhend algajatele

30. oktoober 2021

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
  • Erandid
  • Klassid ja objektid
    • Klasside loomine
    • Klassi objektid
    • Juurdepääs atribuutidele
    • Sisseehitatud klassi atribuudid
    • Prügi kogumine
    • Klassipärand
    • Alustavad meetodid
    • Regulaaravaldised
    • Sobitamise funktsioon
    • Otsingu funktsioon
    • Regulaaravaldise teisendajad
    • Regulaaravaldise mustrid
    • Tegelaste klassid
    • Kordusjuhtumid
    • Ankrud
  • 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
      • Parsimise meetod
      • ParseString meetod
  • GUI programmeerimine
    • Tkinteri vidinad
  • Geomeetria haldamine
  • Soovitatavad artiklid

Failid I/O

Võtsime seni konsoolist sisendi ja kirjutasime selle kasutajaga suhtlemiseks tagasi konsooli. Mõnikord ei piisa andmete kuvamisest konsoolil. Kuvatav teave võib olla tohutu. Konsoolil saab kuvada vaid väikese hulga andmeid, kuna mälu on täis. Mõnikord muutub andmete taastamine ikka ja jälle keeruliseks.

Selles failis on käsitlemisel ülioluline roll, kui andmeid tuleb faili püsivalt salvestada. Salvestatud teabele pääsete juurde pärast programmi lõpetamist.

Faili avamine

Python pakub funktsiooni open(), mis aktsepteerib kahte argumenti, juurdepääsurežiimi ja failinime, milles failile juurde pääseb. Funktsioon tagastab failiobjekti, mis suudab sooritada erinevaid toiminguid, nagu lugemine, kirjutamine jne.

jah ei Juurdepääsurežiim Kirjeldus
üks r See avab kirjutuskaitstud režiimis faili. Failikursor on alguses. Kui ühtegi juurdepääsurežiimi ei läbita, siis fail on vaikimisi avatud selles režiimis.
kaks rb See avab binaarvormingus kirjutuskaitstud faili. Failikursor on alguses.
3 r+ See avab faili nii lugemiseks kui ka kirjutamiseks. Failikursor on alguses.
4 rb+ See avab faili nii lugemiseks kui ka kirjutamiseks binaarvormingus. Failikursor on alguses.
5 sisse See avab faili ainult kirjutamiseks. See kirjutab faili üle või loob uue, kui sama nimega faili pole. Failikursor on alguses.
6 wb See avab faili kirjutamiseks ainult binaarvormingus. See kirjutab faili üle või loob uue, kui faili pole. Failikursor on alguses.
7 sisse + See avab faili nii kirjutamiseks kui lugemiseks. See kirjutab eelmise faili üle või loob uue faili, kui faili pole olemas. Failikursor on alguses.
8 wb+ See avab faili nii kirjutamiseks kui ka lugemiseks binaarvormingus. Failikursor on alguses.
9 juurde See avab faili lisamiseks. Failikursor on faili lõpus. Kui faili pole, loob see kirjutamiseks uue faili.
10 ära See avab faili binaarvormingus lisamiseks. Failikursor on faili lõpus. Kui faili pole, loob see kirjutamiseks uue faili.
üksteist a+ See avab faili nii lisamiseks kui ka lugemiseks. Failikursor on faili lõpus. Kui faili pole, loob see kirjutamiseks ja lugemiseks uue faili.
12 ab+ See avab faili binaarvormingus lugemiseks ja lisamiseks. Failikursor on faili lõpus. Kui faili pole, loob see lugemiseks ja kirjutamiseks uue faili
img 617dd2714c751

VÄLJUND

img 617dd2719c731

Failiobjekti atribuudid

jah ei Atribuut Kirjeldus
üks fail.suletud Tagastab tõene, kui fail suletakse. Muidu vale
kaks faili nimi See tagastab faili nime.
3 file.mode See tagastab juurdepääsurežiimi, mille kaudu fail avati.
4 file.softspace Tagastab vale, kui printimisel on vaja ruumi. Muidu tõsi.

Faili sulgemine

Kui kõik toimingud on tehtud, peate failid sulgema Pythoni skripti kaudu, kasutades Sulge() meetod. Igasugune teave, mida pole kirjutatud, hävitatakse pärast seda Sulge() meetodit kutsutakse failiobjektil.

Failiga saab toiminguid teha väliselt, kasutades Pythonis avatud failisüsteemi; seetõttu on hea tava sulgeda fail, kui kõik toimingud on tehtud.

SÜNTAKS

|_+_|

Koos avaldusega

Lauset with kasutatakse juhul, kui lausepaar tuleb täita, mille vahel on koodiplokk.

Avaldise eeliseks on see, et see tagab faili sulgemise sõltumata pesastatud ploki väljumistest.

Failides on alati soovitatav kasutada käsku with, kuna see suleb faili automaatselt, kui koodis esineb tagastamine, katkestus või erand. Sul ei ole vaja sulge () funktsiooni kirjutada. See ei lase failil rikkuda.

SÜNTAKS

|_+_|

Kirjutamise meetod

Meetod write() kirjutab stringi avatud faili. On oluline, et Pythoni stringidel oleks binaarandmed, mitte ainult tekst. Meetod Write() ei lisa reavahetusmärki (' ') stringi lõppu.

SÜNTAKS

|_+_|

Lugemise meetod

Meetod read() loeb stringi avatud failist. On oluline, et Pythoni stringidel oleks peale tekstiandmete ka binaarandmed.

SÜNTAKS

|_+_|

Rename() meetod

Rename() meetodil on kaks argumenti: uus failinimi ja praegune failinimi.

SÜNTAKS

|_+_|

Eemalda () meetod

Meetod remove() kustutab failid, esitades argumendina kustutatava faili nime.

SÜNTAKS

|_+_|

Faili asukoht

  • Meetod tell() annab teada, milline on praegune asukoht failis.
  • Seek(offset[, from]) meetod muudab aktiivse faili asukohta. Nihkeargument tähistab teisaldamiseks vajalike baitide arvu.

Erandid

Mis on erand?

Erandiks on sündmus, mis tavaliselt toimub programmi täitmise ajal ja mis häirib programmi käskude tavapärast voogu. Lihtsamalt öeldes, kui Pythoni skript satub olukorda, millega ta ei suuda toime tulla, tekitab see erandi. Erandiks on Pythoni objekt, mis tähistab viga. Kui Pythoni skript tekitab erandi, peab see erandi koheselt käsitlema; vastasel juhul see lõpetab ja väljub.

Erandi käsitlemine

Kui teil on mõni kahtlane koodi, mis võib tekitada erandi, saate oma programmi kaitsta, asetades kahtlase koodi try: plokki. Pärast try: block'i ​​lisage väljavaated, millele järgneb koodiplokk, mis lahendab probleemi võimalikult elegantselt.

SÜNTAKS

|_+_| img 617dd2722b717

VÄLJUND

Erandi tõstmine

Erandeid saate tõsta mitmel viisil, kasutades tõstelauset.

SÜNTAKS

|_+_|

Standardsete erandite loend

jah ei Erandi nimi Kirjeldus
üks Standardviga Põhiklass kõigi sisseehitatud erandite jaoks, välja arvatud StopIteration ja SystemExit.
kaks SystemExit Selle tõstab funktsioon sys.exit().
3 StopIteration See tõstetakse siis, kui iteraatori meetod next() ei osuta ühelegi objektile.
4 Erand See on baasklass kõigi erandite jaoks
5 Ületäitmise viga Seda suurendatakse, kui arvutus ületab numbrilise tüübi maksimumpiirangu.
6 Aritmeetiline viga See on kõigi numbriliste arvutuste puhul esinevate vigade baasklass.
7 ZeroDivisionError Seda tõstetakse, kui jagamine või moodul nulliga toimub kõigi numbritüüpide puhul.
8 FloatingPointError Seda tõstetakse, kui ujukomaarvutus ebaõnnestub.
9 AttributeError See tõstetakse atribuudi viite ebaõnnestumise korral.
10 AssertionError See tõstatatakse kinnituslause ebaõnnestumise korral.
üksteist EOFErr See tõstetakse, kui funktsioonidest raw_input() või input() pole sisendit ja olete jõudnud faili lõppu.
12 Impordiviga See tõstatatakse, kui importimise avaldus ebaõnnestub.
13 Otsinguviga See on kõigi otsinguvigade baasklass.
14 Klaviatuuri katkestus See tõstetakse, kui kasutaja katkestab programmi täitmise, vajutades klahvikombinatsiooni Ctrl+c.
viisteist KeyError See tõstetakse, kui võtit sõnastikust ei leita.
16 Indeksi viga Seda tõstetakse, kui jadas indeksit ei leita.
17 Keskkonna viga See on baasklass kõikide erandite jaoks, mis esinevad väljaspool pythoni keskkonda.
18 PiiramataLocalError See tõstetakse, kui proovite pääseda funktsiooni või meetodi kohalikule muutujale, kuid sellele ei omistata väärtust.
19 NameError See tõstetakse esile, kui globaalses või kohalikus globaalses nimeruumis identifikaatorit ei leidu.
kakskümmend SystemExit See tõstetakse, kui sulgete pythoni tõlgi funktsiooni sys.exit() abil. Kui ta koodi ei käsitleta, põhjustab tõlgi väljumise
kakskümmend üks Süntaksiviga See tõstatatakse, kui Pythoni süntaksis on viga.
22 IOError Seda tõstetakse operatsioonisüsteemiga seotud vigade tõttu.
23 Süsteemitõrge
See tõstatatakse, kui tõlk leiab sisemise probleemi, kuid tõrke ilmnemisel pythoni tõlgendajat ei eksisteeri.
24 Taandeviga see tõstetakse, kui taane pole õigesti määratud.
25 Tüübiviga See tõstetakse toimingu katsel ja see on määratud andmetüübi jaoks kehtetu.
26 ValueError See tõstetakse, kui andmetüübi sisseehitatud funktsioonil on kehtiv argumendi tüüp, kuid argumendil on määratud kehtetud väärtused.
27 Not ImplementedError See tõstatatakse siis, kui abstraktset meetodit, mida tuleb rakendada päritud klassis, tegelikult ei rakendata.
28 Runtime Error See tõstatatakse, kui viga ei kuulu ühtegi kategooriasse.

Kasutaja määratletud erandid

Python võimaldab teil luua erandeid, tuletades klassid sisseehitatud eranditest.

See on kasulik, kui peate erandi tabamisel kuvama täpsemat teavet.

Prooviplokis tõstetakse esile kasutaja määratud erand ja see püütakse erandi plokki. Muutujat kasutatakse klassi Networkerror eksemplari loomiseks.

Väited Pythonis

Väide on mõistuse kontroll, mille saate sisse või välja lülitada, kui olete oma programmi testimise lõpetanud.

Lihtne viis väidet mõelda on tõstatada väidet. Avaldist testitakse ja kui tulemus on vale, tehakse erand.

Programmeerijad panevad tavaliselt väiteid funktsiooni algusesse, et kontrollida õiget sisendit, ja pärast funktsiooni kutsumist, et kontrollida väljundi täpset.

SÜNTAKS

|_+_|