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
  • Moodulid
  • 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
    • 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
      • Sõelumismeetod
      • ParseString meetod
  • GUI programmeerimine
    • Tkinteri vidinad
  • Geomeetria haldamine
  • Soovitatavad artiklid

Funktsioonid

Funktsioon on lausete kogum, mis võtab sisendeid, toodab väljundit ja teeb teatud arvutusi ja. Idee on panna kokku mõned tavalised ülesanded ja muuta funktsioon selliseks, selle asemel, et erinevate sisendite jaoks sama koodi uuesti kirjutada, saame funktsiooni kutsuda.

Python pakub sisseehitatud funktsioone, nagu print() jne, kuid me saame luua ka teie funktsioone. Neid funktsioone nimetatakse kasutaja määratud funktsioonideks.

img 617dd26e8d81f

VÄLJUND

img 617dd26ece337

Kuidas defineerida funktsiooni

  • Funktsiooniplokk algab märksõnaga def ning sellele järgneb funktsiooni nimi ja sulud ( ( ) ).
  • Kõik sisestusargumendid tuleks paigutada sulgudesse. Sulgudes saate määrata parameetreid.
  • Funktsiooni esimene lause võib olla valikuline – funktsiooni dokumentatsioonistring.
  • Iga funktsiooni kood algab tavaliselt kooloniga (:) ja see on taandega.
  • Lause return väljub funktsioonist, mis valikuliselt edastab avaldise helistajale tagasi. Argumentideta return-lause on sama, mis return None.

Süntaks

|_+_|

Funktsiooni kutsumine

Funktsiooni defineerimine tähendab funktsioonile nime andmist, funktsioonis sisalduvate parameetrite täpsustamist ja koodiplokkide struktureerimist. Kui funktsiooni põhistruktuur on lõplik, saate funktsiooni käivitada, kutsudes seda mõnest teisest funktsioonist või otse Pythoni viibast.

Mööda viide

Kõik pythoni keele parameetrid edastatakse üldiselt viidetega. See tähendab, et kui muudate parameetri sõnu funktsiooni sees, kajastub muudatus ka kutsuvas funktsioonis.

Mööda väärtust

Möödaväärtuse korral on funktsioon tavaliselt varustatud kutsuja poolt edastatud argumendiobjekti koopiaga. See tähendab, et originaalobjekt jääb puutumata ja tehtud muudatused koopiad ja salvestatakse erinevatesse mälukohtadesse.

Funktsiooni argumendid

Funktsioone saate kutsuda nende formaalsete argumentide abil

  • Muutuva pikkusega argumendid
  • Nõutavad argumendid
  • Vaikeargumendid
  • Märksõna argumendid

Muutuva pikkusega argumendid

Peate funktsiooni töötlema rohkemate argumentide jaoks, kui funktsiooni määratlemisel määrasite. Need argumendid on tuntud kui muutuva pikkusega argumendid ja neid ei nimetata funktsiooni definitsioonis, erinevalt nõutavatest ja vaikeargumentidest.

img 617dd26f125c2

VÄLJUND

img 617dd26f54165

Nõutavad argumendid

Nõutavad argumendid on need argumendid, mis edastatakse funktsioonile õiges järjekorras. Siin peaksid funktsioonikutse argumendid täpselt vastama funktsiooni definitsioonile.

img 617dd26f8f03f

VÄLJUND

img 617dd27001f4b

Vaikeargumendid

Vaikeargument on argument, mis eeldab vaikeväärtust olenemata sellest, kas selle argumendi funktsiooni kutses on väärtus antud või mitte.

img 617dd2703b6e4

VÄLJUND

img 617dd2707158f

Märksõna argumendid

Python aitab teil funktsiooni märksõna argumentidega välja kutsuda. See funktsioonikutse võimaldab teil edastada avaldusi juhuslikus järjekorras.

Argumendi nime käsitletakse märksõnadena ja vastendatakse funktsiooni kutsumises ja definitsioonis. Kui leitakse sama vaste, kopeeritakse argumentide väärtused funktsiooni definitsiooni.

img 617dd270b419f

VÄLJUND

img 617dd2710a550

Anonüümsed funktsioonid

  • Lambda vormidel võib olla mitu argumenti, kuid see tagastab avaldise kujul vaid ühe väärtuse. Need ei tohi sisaldada käske ega mitut väljendit.
  • Anonüümne funktsioon ei saa olla otsene printimiskutse, sest lambda nõuab väljendit.
  • Lambda-funktsioonidel on kohalikud nimeruumid ja need ei pääse juurde muudele muutujatele peale nende parameetrite loendis ja globaalses nimeruumis.
  • Siiski näib, et lambdad on üherealised funktsioonid, kuid need ei ole samaväärsed C++ või C siseste lausetega, mille eesmärk on funktsioonide virna eraldamine käivitamise ajal jõudluse huvides mööda minna.

Moodulid

Moodul võimaldab teil Pythoni koodi loogiliselt korraldada. Koodi rühmitamine mooduliks muudab koodi mõistmise ja kasutamise lihtsamaks. Moodul on Pythoni objekt, millel on järjepidevalt nimetatud atribuudid, mida saate siduda ja viidata.

Teisisõnu on moodul fail, mis koosneb Pythoni koodist. Moodul saab määratleda funktsioone, klasse ja muutujaid. See võib sisaldada ka käivitatavat koodi.

Impordi avaldus

Pythoni lähtefaili saate kasutada moodulina, käivitades mõnes teises Pythoni lähtefailis impordilause.

SÜNTAKS

|_+_|

Kui tõlk kohtab impordilause, impordib ta otsinguteel esitatud mooduli. See on loend kataloogidest, mida tõlk enne mooduli importimist otsib.

Impordi avaldus

Python alates avaldus aitab teil importida konkreetseid atribuute moodulist praegusesse nimeruumi.

SÜNTAKS

|_+_|

Impordist * avaldus

Kõik mooduli nimed on võimalik importida praegusesse nimeruumi.

SÜNTAKS

|_+_|

See pakub lihtsat viisi mooduli üksuste importimiseks praegusesse nimeruumi; kuigi seda väidet tuleks kasutada säästlikult.

Moodulite asukoha määramine

Moodulite importimisel otsib tõlk moodulit nendes järjestustes

  • Praegune kataloog.
  • Kui moodulit seal pole, otsib see shellmuutujas PYTHONPATH igast kataloogist.
  • Kui ka see ebaõnnestub, kontrollib Python vaiketeed.

Moodul otsib muutujana sys.path süsteemimoodulisse salvestatud teed. Muutuja sys.path sisaldab praegust kataloogi PYTHONPATH ja installist sõltuvat vaikeväärtust.

Funktsioonid locals() ja globals()

Funktsioone locals() ja globals() kasutatakse kohalikes ja globaalsetes nimeruumides olevate nimede tagastamiseks, mis sõltuvad asukohast, kust neid kutsutakse.

Kui funktsiooni globals() kutsutakse välja funktsiooni seest, tagastab see kõik nimed, millele saab sellest funktsioonist globaalselt juurde pääseda.

Kui funktsiooni locals() kutsutakse välja funktsiooni seest, tagastab see kõik nimed, millele saab selle funktsiooni kaudu kohalikult juurde pääseda.

Mõlema funktsiooni tagastustüüp on sõnastik. Seetõttu saab nimesid ekstraheerida funktsiooni keys() abil.

Nimeruumid ja ulatus

Muutujad on nimed, mis vastavad objektidele. Nimeruum on muutujate nimede ja neile vastavate objektide sõnastik.

Pythoni avaldusel on juurdepääs muutujatele kohalikus nimeruumis. Kui globaalsel ja kohalikul muutujal on globaalses nimeruumis sarnane nimi, varjutab kohalik muutuja globaalset muutujat.

Igal funktsioonil on oma kohalik nimeruum. Klassimeetodid järgivad ka sama ulatuse reeglit nagu teised tavalised funktsioonid.

Globaalsele muutujale väärtuse määramiseks peaksite kasutama globaalset avaldust.

Näiteks defineerime globaalses nimeruumis muutuja Money. Funktsiooni Money raames anname rahale väärtuse. Seetõttu eeldab Python raha kohaliku muutujana. Siiski jõudsime kohaliku muutuja Money’s value juurde enne selle määramist, seega on tulemuseks UnboundLocalError. Ülemaailmse avalduse kommenteerimise tühistamine lahendab probleemi.

Diri( ) funktsioon

Funktsioon dir() on sisseehitatud funktsioon, mis tagastab sorteeritud loendi stringidest, mis sisaldavad mooduli poolt määratletud nimesid. Loend sisaldab kõiki moodulis määratletud moodulite, muutujate ja funktsioonide nimesid

Reload() funktsioon

Kui moodul on imporditud, käivitatakse mooduli ülataseme kood ainult üks kord. Seega, kui soovite moodulis tipptaseme koodi uuesti käivitada, võite kasutada funktsiooni reload(). Funktsioon reload() impordib uuesti varem imporditud mooduli.

SÜNTAKS

|_+_|