Programmēšana

Galīgais Python ceļvedis iesācējiem

2021. gada 30. oktobris

Satura rādītājs

  • Vides iestatīšana
    • Vietējās vides iestatīšana
    • Kā iegūt Python
    • Kā instalēt Python
    • Windows instalēšana
    • Unix/Linux instalēšana
    • MAC instalēšana
    • Python ceļa iestatīšana
    • Unix/Linux ceļa iestatīšana
    • Ceļa iestatīšana operētājsistēmai Windows
  • Python vides mainīgie
    • Darbojas Python
  • Pamata sintakse
    • Python identifikatori
    • Python paziņojums
    • Atkāpes Python
    • Komentāri Python
    • Ievades iegūšana
    • Parādiet izvadi
  • Mainīgo veidi
    • Vērtību piešķiršana mainīgajiem
    • Python datu veidi
    • Stīgas
    • Korpusi
    • Saraksti
    • Skaitļi
  • Pamatoperatori
    • Uzdevuma operators
    • Bitu operators
    • Loģiskais operators
    • Aritmētiskais operators
    • Salīdzināšanas operators
    • Identitātes operators
    • Dalības operators
  • Lēmumu pieņemšana
    • Ja paziņojums
    • ja-citādi
    • Ligzdotas, ja
    • Ja-elif-cits-kāpnes
    • Īsraksts ja paziņojums
    • Saīsināts if-else paziņojums
  • Cilpas
    • Kamēr cilpa
    • For Loop
    • Ligzdotas cilpas
    • Cilpas vadības paziņojumi
    • Turpināt paziņojumu
    • Pārtraukuma paziņojums
    • Pass paziņojums
  • Skaitļi
    • Numura veida konvertēšana
    • Izlases skaitļu funkcijas
    • Trigonometriskās funkcijas
    • Matemātiskās funkcijas
  • Stīgas
    • Virknes izveide
    • Stīgu īpašie operatori
    • Virkņu formatēšanas operatori
    • Bēgšanas varoņi
    • Iebūvētās stīgu metodes
  • Korpusi
    • Piekļuve vērtībām Tuples
    • Korežu atjaunināšana
    • Pamata Tuple operatori
    • Iebūvētas Tuple Functions
    • Indeksēšana un sagriešana
    • Korpusa dzēšana
  • Saraksti
    • Piekļuve vērtībām sarakstos
    • Sarakstu atjaunināšana
    • Pamata saraksta operatori
    • Iebūvēts funkciju un metožu saraksts
    • Indeksēšana un sagriešana
    • Dzēst sarakstu elementu
  • Vārdnīca
    • Vārdnīcas veidošana
    • Elementu pievienošana vārdnīcā
    • Elementu noņemšana no vārdnīcas
    • Python vārdnīcu metodes
  • Datums un laiks
    • Laiks Tuple
    • Laika modulis
    • Kalendāra modulis
  • Funkcijas
    • Kā definēt funkciju
    • Funkcijas izsaukšana
    • Iet pēc atsauces
    • Paiet garām vērtībai
    • Funkciju argumenti
    • Mainīga garuma argumenti
    • Nepieciešamie argumenti
    • Noklusējuma argumenti
    • Atslēgvārdu argumenti
    • Anonīmās funkcijas
  • Moduļi
    • Importēšanas paziņojums
    • Importēšanas paziņojums
    • No importēšanas * Paziņojums
    • Moduļu atrašanās vietas noteikšana
    • Locals() un globals() funkcijas
    • Vārdtelpas un tvērums
    • Funkcija dir( ).
    • Pārlādēšanas () funkcija
  • Faili I/O
  • Izņēmumi
  • Klases un objekti
    • Nodarbību veidošana
    • Klases objekti
    • Piekļuve atribūtiem
    • Iebūvētie klases atribūti
    • Atkritumu kolekcija
    • Klases mantojums
    • Ignorējošās metodes
    • Regulāras izteiksmes
    • Saskaņošanas funkcija
    • Meklēšanas funkcija
    • Regulāro izteiksmju pārveidotāji
    • Regulārās izteiksmes modeļi
    • Rakstzīmju klases
    • Atkārtošanās gadījumi
    • Enkuri
  • CGI programmēšana
    • Web pārlūkošana
    • HTTP galvene
    • CGI vides mainīgie
    • GET metode
    • POST metode
    • Sīkdatņu izmantošana CGI
    • Kā tas darbojas?
  • Piekļuve MySQL datu bāzei
    • Datu bāzes tabulas izveide
    • INSERT darbība
    • LASĪT Darbība
    • Atjaunināšanas darbība
    • DZĒŠANA darbība
    • Darījumu veikšana
    • COMMIT operācija
    • ATGĀŠANAS darbība
    • Datu bāzes atvienošana
    • Apstrādes kļūdas
  • Tīkli
    • Kas ir ligzdas?
    • Kontaktligzdas modulis
    • Python interneta moduļi
  • E-pasta sūtīšana
    • HTML e-pasta sūtīšana, izmantojot Python
    • Pielikumu nosūtīšana e-pastā
  • Daudzpavedienu programmēšana
    • Sākt jaunu pavedienu
    • Vītņu veidošanas modulis
    • Pavedienu sinhronizēšana
    • Daudzpavedienu prioritātes rinda
  • XML apstrāde
    • Kas ir XML?
    • XML parsētāja arhitektūras un API
    • XML parsēšana ar SAX API
      • Make_parser metode
      • Parsēšanas metode
      • ParseString metode
  • GUI programmēšana
    • Tkinter logrīki
  • Ģeometrijas vadība
  • Ieteicamie raksti

Faili I/O

Līdz šim mēs paņēmām ievadi no konsoles un ierakstījām to atpakaļ konsolē, lai mijiedarbotos ar lietotāju. Dažreiz nepietiek ar datu parādīšanu konsolē. Parādāmā informācija var būt plaša. Konsolē var parādīt tikai nelielu datu apjomu, jo atmiņa ir izlauzta. Dažreiz kļūst grūti atkal un atkal atgūt datus.

Šajā failā apstrādei ir būtiska nozīme, ja dati ir pastāvīgi jāsaglabā failā. Jūs varat piekļūt saglabātajai informācijai pēc programmas pārtraukšanas.

Faila atvēršana

Python piedāvā open() funkciju, kas pieņem divus argumentus, piekļuves režīmu un faila nosaukumu, kurā failam tiek piekļūts. Funkcija atgriež faila objektu, kas var veikt dažādas darbības, piemēram, lasīšanu, rakstīšanu utt.

Jā nē Piekļuves režīms Apraksts
viens r Tas atver failu tikai lasīšanas režīmam. Faila rādītājs atrodas sākumā. Ja netiek nodots neviens piekļuves režīms, fails pēc noklusējuma ir atvērts šajā režīmā.
divi rb Tas atver failu tikai lasīšanai binārā formātā. Faila rādītājs atrodas sākumā.
3 r+ Tas atver failu gan lasīšanai, gan rakstīšanai. Faila rādītājs atrodas sākumā.
4 rb+ Tas atver failu gan lasīšanai, gan rakstīšanai binārā formātā. Faila rādītājs atrodas sākumā.
5 In Tas atver failu tikai rakstīšanai. Tas pārraksta failu vai izveido jaunu, ja fails ar tādu pašu nosaukumu nepastāv. Faila rādītājs atrodas sākumā.
6 wb Tas atver failu rakstīšanai tikai binārā formātā. Tas pārraksta failu vai izveido jaunu, ja fails nepastāv. Faila rādītājs atrodas sākumā.
7 in + Tas atver failu gan rakstīšanai, gan lasīšanai. Tas pārraksta iepriekšējo failu vai izveido jaunu failu, ja fails nepastāv. Faila rādītājs atrodas sākumā.
8 wb+ Tas atver failu gan rakstīšanai, gan lasīšanai binārajā formātā. Faila rādītājs atrodas sākumā.
9 uz Tas atver failu pievienošanai. Faila beigās atrodas faila rādītājs. Ja faila nav, tas izveidos jaunu failu rakstīšanai.
10 prom Tas atver failu pievienošanai binārā formātā. Faila beigās atrodas faila rādītājs. Ja faila nav, tas izveidos jaunu failu rakstīšanai.
vienpadsmit a+ Tas atver failu gan pievienošanai, gan lasīšanai. Faila beigās atrodas faila rādītājs. Ja faila nav, tas izveidos jaunu failu rakstīšanai un lasīšanai.
12 ab+ Tas atver failu lasīšanai un pievienošanai binārā formātā. Faila beigās atrodas faila rādītājs. Ja faila nav, tas izveidos jaunu failu lasīšanai un rakstīšanai
img 617dd2714c751

IZEJA

img 617dd2719c731

Failu objekta atribūti

Jā nē Atribūts Apraksts
viens file.closed Tas atgriež patiesu, ja fails tiek aizvērts. Citādi nepatiesi
divi faila nosaukums Tas atgriež faila nosaukumu.
3 file.mode Tas atgriež piekļuves režīmu, caur kuru fails tika atvērts.
4 file.softspace Tas atgriež false, ja drukāšanai ir nepieciešama vieta. Citādi taisnība.

Faila aizvēršana

Kad visas darbības ir paveiktas, faili ir jāaizver, izmantojot Python skriptu, izmantojot aizvērt () metodi. Jebkura informācija, kas nav uzrakstīta, tiek iznīcināta aizvērt () metode tiek izsaukta faila objektā.

Varat veikt darbības ar failu ārēji, izmantojot failu sistēmu, kas tiek atvērta programmā Python; tāpēc, kad visas darbības ir veiktas, ieteicams failu aizvērt.

SINTAKSE

|_+_|

Ar paziņojumu

Paziņojums with tiek izmantots, ja ir jāizpilda paziņojumu pāris ar koda bloku starp tiem.

Paziņojuma priekšrocība ir tāda, ka tas nodrošina faila aizvēršanu neatkarīgi no ligzdoto bloku izejām.

Failos vienmēr ir ieteicams izmantot priekšrakstu with, jo tas automātiski aizver failu, ja kodā notiek atgriešana, pārtraukums vai izņēmums. Jums nav jāraksta funkcija close (). Tas neļauj failam bojāties.

SINTAKSE

|_+_|

Rakstīšanas metode

Write() metode ieraksta virkni atvērtā failā. Ir svarīgi, lai Python virknēs varētu būt bināri dati, nevis tikai teksts. Metode Write() nepievieno jaunas rindiņas rakstzīmi (' ') virknes beigām.

SINTAKSE

|_+_|

Lasīšanas metode

Read() metode nolasa virkni no atvērta faila. Ir svarīgi, lai Python virknēs varētu būt ne tikai teksta dati, bet arī bināri dati.

SINTAKSE

|_+_|

Pārdēvēt() metode

Rename() metodei ir divi argumenti: jaunais faila nosaukums un pašreizējais faila nosaukums.

SINTAKSE

|_+_|

Remove() metode

Metode remove() izdzēš failus, kā argumentu norādot dzēšamā faila nosaukumu.

SINTAKSE

|_+_|

Faila pozīcija

  • Metode tell() stāsta par pašreizējo atrašanās vietu failā.
  • Seek(offset[, from]) metode maina pašreizējā faila pozīciju. Nobīdes arguments apzīmē baitu skaitu, kas ir jāpārvieto.

Izņēmumi

Kas ir izņēmums?

Izņēmums ir notikums, kas parasti notiek programmas izpildes laikā, kas traucē programmas instrukciju normālu plūsmu. Vienkāršiem vārdiem sakot, kad Python skripts saskaras ar situāciju, ar kuru tas nevar tikt galā, tas rada izņēmumu. Izņēmums ir Python objekts, kas apzīmē kļūdu. Kad Python skripts rada izņēmumu, tam nekavējoties jārīkojas ar izņēmumu; pretējā gadījumā tas tiek pārtraukts un iziet.

Izņēmuma apstrāde

Ja jums ir daži aizdomīgs kodu, kas var radīt izņēmumu, varat aizstāvēt savu programmu, ievietojot aizdomīgo kodu try: blokā. Pēc mēģinājuma: bloka iekļaujiet paziņojumu izņemot, kam seko koda bloks, kas problēmu risina pēc iespējas elegantāk.

SINTAKSE

|_+_| img 617dd2722b717

IZEJA

Izņēmuma izvirzīšana

Izņēmumus var izvirzīt dažādos veidos, izmantojot paaugstināšanas paziņojumu.

SINTAKSE

|_+_|

Standarta izņēmumu saraksts

Jā nē Izņēmuma nosaukums Apraksts
viens Standarta kļūda Pamatklase visiem iebūvētajiem izņēmumiem, izņemot StopIteration un SystemExit.
divi System Exit To paaugstina funkcija sys.exit().
3 StopIteration Tas tiek pacelts, ja iteratora next() metode nenorāda uz nevienu objektu.
4 Izņēmums Tā ir bāzes klase visiem izņēmumiem
5 Pārpildes kļūda Tas tiek palielināts, ja aprēķins pārsniedz ciparu tipa maksimālo robežu.
6 Aritmētiskā kļūda Tā ir bāzes klase visām kļūdām, kas rodas skaitliskajos aprēķinos.
7 ZeroDivision Error Tas tiek palielināts, kad visiem skaitļu veidiem notiek dalīšana vai modulo ar nulli.
8 FloatingPointError Tas tiek paaugstināts, ja peldošā komata aprēķins neizdodas.
9 Atribūta kļūda Tas tiek palielināts atribūta atsauces kļūmes gadījumā.
10 AssertionError Tas tiek izvirzīts apgalvojuma neveiksmes gadījumā.
vienpadsmit EOFEror Tas tiek pacelts, ja nav ievades no funkcijas raw_input() vai input() un esat sasniedzis faila beigas.
12 Importēšanas kļūda Tas tiek parādīts, ja importēšanas paziņojums neizdodas.
13 Uzmeklēšanas kļūda Tā ir bāzes klase visām uzmeklēšanas kļūdām.
14 Tastatūras pārtraukums Tas tiek pacelts, kad lietotājs pārtrauc programmas izpildi, nospiežot Ctrl+c.
piecpadsmit Atslēgas kļūda Tas tiek pacelts, ja atslēga nav atrasta vārdnīcā.
16 Indeksa kļūda Tas tiek paaugstināts, ja indekss nav atrasts secībā.
17 Vides kļūda Tā ir bāzes klase visiem izņēmumiem, kas notiek ārpus python vides.
18 UnboundLocalError Tas tiek paaugstināts, kad mēģināt piekļūt lokālajam mainīgajam funkcijā vai metodē, bet tam netiek piešķirta vērtība.
19 NameError Tas tiek parādīts, ja identifikators netiek atrasts globālajā vai lokālajā globālajā nosaukumvietā.
divdesmit System Exit Tas tiek palielināts, kad aizverat python tulku, izmantojot funkciju sys.exit(). Ja viņa kods netiek apstrādāts, tulks iziet
divdesmitviens Sintakses kļūda Tas tiek parādīts, ja python sintaksē ir kļūda.
22 IOError Tas tiek paaugstināts ar operētājsistēmu saistītu kļūdu dēļ.
23 Sistēmas kļūda
Tas tiek parādīts, kad tulks atrod iekšēju problēmu, bet, kad tiek konstatēta kļūda, python tulks neeksistē.
24 Atkāpes kļūda tas tiek pacelts, ja atkāpe nav norādīta pareizi.
25 Tipa kļūda Tas tiek parādīts, kad tiek mēģināts veikt darbību, un tas nav derīgs norādītajam datu tipam.
26 ValueError Tas tiek parādīts, ja datu tipa iebūvētajai funkcijai ir derīgs argumenta veids, bet argumentam ir norādītas nederīgas vērtības.
27 NotImplementedError Tas tiek izvirzīts, ja abstraktā metode, kas jārealizē mantotā klasē, faktiski netiek ieviesta.
28 Runtime Error Tas tiek parādīts, ja kļūda neietilpst nevienā kategorijā.

Lietotāja definēti izņēmumi

Python ļauj izveidot izņēmumus, atvasinot klases no iebūvētajiem izņēmumiem.

Tas ir noderīgi, ja jums ir jāparāda precīzāka informācija, kad tiek noķerts izņēmums.

Mēģināšanas blokā tiek parādīts lietotāja definēts izņēmums, un tas tiek noķerts izņēmuma blokā. Mainīgais tiek izmantots, lai izveidotu klases Networkerror gadījumu.

Apgalvojumi Python valodā

Apgalvojums ir saprāta pārbaude, kuru varat ieslēgt vai izslēgt, kad esat pabeidzis programmas testēšanu.

Vienkāršākais veids, kā domāt par apgalvojumu, ir izvirzīt apgalvojumu. Izteiksme tiek pārbaudīta, un, ja rezultāts ir nepatiess, tiek izvirzīts izņēmums.

Programmētāji parasti ievieto apgalvojumus funkcijas sākumā, lai pārbaudītu derīgu ievadi, un pēc funkcijas izsaukuma, lai pārbaudītu precīzu izvadi.

SINTAKSE

|_+_|