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
    • Luokkien luominen
    • Luokkaobjektit
    • Attribuuttien käyttö
    • Sisäänrakennetut luokan attribuutit
    • Roskakokoelma
    • Luokkaperintö
    • Ohittavat menetelmät
    • Säännölliset lausekkeet
    • Match-toiminto
    • Hakutoiminto
    • Säännöllisten lausekkeiden muokkaajat
    • Säännölliset lausekkeet
    • Hahmoluokat
    • Toistotapaukset
    • Ankkurit
  • CGI ohjelmointi
  • MySQL-tietokannan käyttö
  • 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

CGI ohjelmointi

CGI tai Common Gateway Interface on joukko standardeja, jotka määrittelevät, kuinka tietoja vaihdetaan mukautetun komentosarjan ja verkkopalvelimen välillä. NCSA ylläpitää tällä hetkellä CGI-spesifikaatioita.

Nettiselailu

Jos haluat ymmärtää CGI:n käsitteen, tässä on esimerkki. Napsauta hyperlinkkiä selataksesi tiettyä URL-osoitetta tai verkkosivua.

  • Selain ottaa yhteyttä verkkopalvelimeen ja pyytää URL-osoitetta.
  • Web-palvelin jäsentää URL-osoitteen ja etsii tiedostonimen. Jos se löytää tiedoston, se lähettää sen takaisin selaimeen, muuten se lähettää virheilmoituksen, joka osoittaa, että pyysit väärää tiedostoa.
  • Web-selain ottaa vastauksen verkkopalvelimelta ja näyttää joko vastaanotetun tiedoston tai virheilmoituksen.

Vaikka on mahdollista asettaa HTTP-palvelin niin, että aina kun tietyssä hakemistossa olevaa tiedostoa pyydetään, tiedostoa ei lähetetä takaisin; sen sijaan se suoritetaan ohjelmana, ja kaikki ohjelman tuottamat tiedot lähetetään takaisin selaimesi näytettäväksi.

Tämä toiminto tunnetaan nimellä Common Gateway Interface tai CGI, ja suunnitelmat tunnetaan CGI-skripteinä. CGI-ohjelmat voivat olla Python Script, PERL Script, Shell Script, C tai C++ jne.

python

HTTP-otsikko

Linja Sisältötyyppi:teksti/html on osa HTTP-otsikkoa, joka lähetetään selaimeen sisällön ymmärtämiseksi. Kaikki HTTP-otsikot ovat seuraavassa muodossa

kyllä ​​ei Otsikko Kuvaus
yksiSijainti: URLPalautettava URL-osoite pyydetyn URL-osoitteen sijaan. Voit käyttää kenttää uudelleenohjataksesi pyynnön mihin tahansa tiedostoon.
kaksiSisältötyyppi:Se on MIME-merkkijono, joka määrittää palautettavan tiedoston muodon. Esimerkiksi on Content-type:text/html
3Viimeksi muokattu: PäivämääräResurssin muutoksen päivämäärä.
4Vanhenee: PäivämääräTiedot mitätöityvät päivämääränä. Selain käyttää tätä päättääkseen, milloin sivu on päivitettävä.
5Set-Cookie: merkkijonoAseta evästeen läpi kulkeva merkkijono
6Sisällön pituus: NTietojen pituus palautetaan. Selain käyttää arvoa raportoidakseen tiedoston arvioidun latausajan.

CGI-ympäristömuuttujat

CGI-ohjelmilla on pääsy muutamaan ympäristömuuttujaan. Näillä muuttujilla on olennainen rooli mitä tahansa CGI-ohjelmaa kirjoitettaessa.

kyllä ​​ei Muuttujan nimi Kuvaus
yksi CONTENT_LENGTH Kyselytietojen pituus. Se on käytettävissä vain POST-pyynnöille.
kaksi SISÄLTÖTYYPPI Sisällön tietotyyppi. Sitä käytetään, kun asiakas lähettää sisältöä palvelimelle. Esimerkiksi tiedostojen lataaminen.
3 QUERY_STRING URL-koodatut tiedot lähetetään GET-menetelmäpyynnön mukana.
4 PATH_INFO Se on polku CGI-skriptille.
5 HTTP_COOKIE Se palauttaa asetetut evästeet arvoparin ja avaimen muodossa.
6 ETÄISÄNTÄ Pyynnön tekevän isännän täysin hyväksytty nimi. Jos tietoja ei ole saatavilla, voidaan käyttää REMOTE_ADDR:tä IR-osoitteen saamiseksi. arvo, joka ilmoittaa tiedoston arvioidun latausajan.
7 SCRIPT_FILENAME Täysi polku CGI-skriptiin.
8 REQUEST_METHOD Menetelmää käytetään pyynnön tekemiseen. Yleisimmät menetelmät ovat POST ja GET.
9 PALVELIMEN NIMI Palvelimen isäntänimi tai IP-osoite
10 SERVER_SOFTWARE Sen ohjelmiston versio ja nimi, jossa palvelin on käynnissä.
yksitoista HTTP_USER_AGENT User-agent request-header sisältää tietoja pyynnön lähettäneestä käyttäjäagentista. Se on verkkoselaimen nimi.
12 REMOTE_ADDR Pyynnön tekee etäisännän IP-osoite. Se on hyödyllinen kirjaamiseen tai todentamiseen.
13 SCRIPT_NAME CGI-komentosarjan nimi.

GET-menetelmä

GET-menetelmä on oletusmenetelmä tietojen siirtämiseksi selaimesta verkkopalvelimelle, ja se tuottaa merkkijonon, joka näkyy selaimesi sijaintikentässä. Älä koskaan käytä GET-menetelmää, jos sinulla on salasana tai muita arkaluonteisia tietoja. GET-menetelmällä on kokorajoitus: vain 1024 merkkiä voidaan lähettää pyyntömerkkijonossa. GET-menetelmä lähettää tiedot QUERY_STRING-otsikon avulla, ja se on käytettävissä CGI-ohjelmassasi ympäristömuuttujan QUERY_STRING kautta.

SYNTAKSI

|_+_| img 617dd274c490b

OUTPUT

img 617dd27560edf

POST-menetelmä

POST on pyyntömenetelmä, jota World Wide Webin käyttämä HTTP tukee. POST-menetelmä pyytää, että verkkopalvelin hyväksyy pyyntösanoman runkoon sisältyvät tiedot. Sitä käytetään tiedoston lataamiseen tai täytetyn verkkolomakkeen lähettämiseen.

SYNTAKSI

|_+_| img 617dd275b62df

Evästeiden käyttö CGI:ssä

HTTP-protokolla on tilaton. Kaupallista verkkosivustoa varten sinun on ylläpidettävä istuntotietoja eri sivuilla.

Joissakin tilanteissa evästeiden käyttö on tehokkain tapa seurata ja muistaa mieltymyksiä, palkkioita, ostoja ja muita tietoja paremman vierailijakokemuksen tai sivuston tilastojen saamiseksi.

Kuinka se toimii?

Palvelin lähettää joitain tietoja selaimelle evästeen muodossa. Selain saattaa hyväksyä evästeen. Jos se hyväksytään, se tallennetaan suorana tekstitietueena kiintolevylle. Nyt kun vierailija saapuu toiselle sivulle, eväste on noudettavissa. Kun se on haettu, palvelimesi muistaa tallennetun.

MySQL-tietokannan käyttö

MySQLdb on käyttöliittymä MySQL-tietokantapalvelimeen yhdistämistä varten Pythonista. Se toteuttaa Python Database API v2.0 ja se on rakennettu MySQL C API:n päälle.

Tietokantataulukon luominen

Kun tietokantayhteys on muodostettu, olet valmis luomaan taulukoita tai tietueita tietokantataulukoihin käyttämällä luodun kursorin suoritustapaa.

img 617dd27621265

INSERT-toiminto

Insert-toimintoa tarvitaan, kun haluat luoda tietueesi tietokantataulukkoon.

img 617dd2767f199

LUE Käyttö

READ Toiminta missä tahansa tietokannassa tarkoittaa tietojen hakemista tietokannasta.

Kun tietokantayhteys on muodostettu, olet asetettu tekemään kyselyn tähän tietokantaan. Voit käyttää nouto () tapa hakea yksi tietue tai hae () menetelmä useiden arvojen hakemiseksi tietokantataulukosta.

    hae ()− Se hakee rivin tulosjoukossa. Jos joitakin rivejä on jo poimittu tulosjoukosta, se hakee rivit tulosjoukosta.nouto ()− Se hakee kyselyn tulosjoukon seuraavan rivin. Tulosjoukko on objekti, joka palaa, kun kohdistinta käytetään taulukon kyselyyn.rivien määrä− Se on vain luku -määrite ja palauttaa niiden rivien lukumäärän, joihin execute()-metodi on vaikuttanut.

Päivitä toiminta

UPDATE-toiminto missä tahansa tietokannassa tarkoittaa tietokannassa olevien tietueiden päivittämistä.

POISTA-toiminto

DELETE-toiminto poistaa joitakin tietueita tietokannastasi.

Liiketoimien suorittaminen

Tapahtumat ovat mekanismi, joka varmistaa tietojen johdonmukaisuuden.

    Atomuus− Joko kauppa valmistuu tai mitään ei tapahdu.Johdonmukaisuus− Tapahtuman tulee alkaa yhdenmukaisessa tilassa ja jättää järjestelmä johdonmukaiseen tilaan.Eristäytyminen− Tapahtuman tulokset eivät näy nykyisen tapahtuman ulkopuolella.Kestävyys− Kun tapahtuma on sitoutunut, vaikutukset ovat pysyviä, jopa järjestelmävian jälkeen.

COMMIT-toiminto

Commit on toimenpide, joka antaa tietokannalle vihreän signaalin muutosten viimeistelystä, ja tämän toimenpiteen jälkeen muutoksia ei voi peruuttaa.

Esimerkiksi db.commit()

ROLLBACK-toiminto

Jos et halua yhtä tai useampaa muutosta ja haluat palauttaa muutokset kokonaan, sinun tulee käyttää palautustoimintoa. () menetelmä.

Esimerkiksi db.rollback()

Tietokannan yhteyden katkaiseminen

Voit katkaista tietokantayhteyden käyttämällä close()-menetelmää.

Jos yhteys tietokantaan suljetaan, DB peruuttaa kaikki jäljellä olevat tapahtumat. Riippuen kuitenkin mistä tahansa DB:n alemman tason toteutuksen yksityiskohdista, sovellus olisi parempi kutsua commit tai rollback nimenomaisesti.

Käsittelyvirheet

Virheille on monia syitä. Yhteysvirhe, syntaksivirhe suoritetussa SQL-käskyssä, ovat muutamia esimerkkejä

DB API määrittää kussakin tietokantamoduulissa mahdollisesti esiintyvien virheiden määrän. Seuraavassa taulukossa luetellaan poikkeukset.

kyllä ​​ei Poikkeukset Kuvaukset
yksi VirheSe on virheiden perusluokka. Sen pitäisi alaluokka Error.
kaksi Interface ErrorSitä käytetään tietokantamoduulin virheisiin, ei itse tietokantaan. Sen tulisi aliluokka Error.
3 VaroitusSitä käytetään ei-kuolemaan johtaviin ongelmiin. Sen tulee alaluokkaan StandardError.
4 DataErrorSe on DatabaseErrorin alaluokka, joka viittaa tietojen virheisiin.
5 Tietokanta virheSitä käytetään tietokannan virheeseen. Sen pitäisi olla alaluokkavirhe
6 ToimintavirheDatabaseError-aliluokka viittaa virheisiin, kuten yhteyden katkeamiseen tietokantaan. Virheet ovat Python-komentosarjan hallinnan ulkopuolella.
7 Sisäinen virheDatabaseErrorin alaluokka viittaa tietokantamoduulin sisäisiin virheisiin, kuten kohdistin ei ole enää aktiivinen.
8 NotSupportedErrorDatabaseError-aliluokka viittaa yritettäessä kutsua ei-tuetut toiminnot.
9 IntegrityErrorDatabaseErrorin alaluokka tilanteisiin, jotka vahingoittavat relaatioiden eheyttä, kuten ainutlaatuisuusrajoituksia tai vieraita avaimia.
10 OhjelmointivirheDatabaseErrorin alaluokka viittaa virheisiin, kuten virheelliseen taulukon nimeen.