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
- 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
- E-kirja saatmine
- Mitme lõimega programmeerimine
- 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
Võrgud
Python pakub võrguteenustele juurdepääsu kahel tasemel. Madalamal tasemel pääsete juurde operatsioonisüsteemi põhipesatoele, mis võimaldab juurutada servereid ja kliente ühendusele orienteeritud ja ühenduseta protokollide jaoks.
Pythonil on teegid, mis pakuvad kõrgema taseme juurdepääsu rakendustaseme võrguprotokollidele, nagu FTP, HTTP ja nii edasi.
Mis on pistikupesad?
Pistikupesad on sidekanali lõpp-punktid. See võib suhelda protsessi sees, protsesside vahel või erinevatel kontinentidel toimuvate toimingute vahel.
Pistikupesasid saab rakendada mitmel erineval kanalitüübil: UDP, TCP ja nii edasi. The pistikupesa raamatukogu pakub spetsiaalset klassi standardsete vedude haldamiseks ja üldist liidest ülejäänud juhtimiseks.
jah ei | Tähtaeg | Kirjeldus |
üks | tüüp | Side kahe lõpp-punkti vahel SOCK_DGRAM ühenduseta protokollide ja SOCK_STREAM ühendusele orienteeritud protokollide jaoks. |
kaks | Domeen | Protokollid, mida kasutatakse transpordimehhanismina. Need väärtused on konstandid, nagu AF_INET, PF_INET, PF_UNIX, PF_X25 jne. |
3 | sadamasse | Server kuulab kliente, kes helistavad ühe või mitme pordi kaudu. Port võib olla Fixnum pordi number, pordi numbrit sisaldav string. |
4hostinimiA string võib olla hostinimi, an IPV6 aadress koolonis või punktiiriga neljakordne aadress string , mis määrab INADDR_BROADCAST aadressi.Nullpikkusega string, mis määrab INADDR_ANYTäisarvu, mida tõlgendatakse binaaraadressina hostibaitide järjekorras. | ||
5 | protokolli | Tavaliselt null, võib seda kasutada protokolli variandi tuvastamiseks domeenis ja tüübis. |
The pistikupesa Moodul
Peate kasutama socket.socket() pistikupesa loomiseks.
s = socket.socket (socket_family, sokli_tüüp, protokoll = 0)
jah ei | meetod | Kirjeldus |
üks | s.listen() | See seadistab ja käivitab TCP-kuulaja. |
kaks | s.bind() | See seob aadressi (hostinimi, pordi numbripaar) pesaga. |
3 | s.connect() | See käivitab aktiivselt TCP-serveri ühenduse. |
4 | s.accept() | See võtab passiivselt vastu TCP-kliendiühendused, oodates, kuni ühendus saabub (blokeerimine). |
5s.recv()Võtab vastu TCP sõnum 6 s.close()See sulgeb pesa 7 s.sendto()See edastab UDP-d sõnum 8 s.recvfrom()See võtab vastu UDP-teate 9 socket.gethostname()Tagastab hostinime. | ||
10 | s.send() | See edastab TCP-sõnumi |
Pythoni Interneti-moodulid
jah ei | Protokoll | Ühine funktsioon | Sadam nr | Pythoni moodul |
üks | Gopher | Dokumendiülekanded | 70 | gopherlib, urllib |
kaks | FTP | Failiedastused | kakskümmend | ftplib, urlli |
3 | POP3 | Meili toomine | 110 | poplib |
4 | Telnet | Käsuread | 23 | telnetlib |
5 | IMAP4 | Meili toomine | 143 | imaplib |
6 | HTTP | veebilehed | 80 | httplib, urllib, xmlrpclib |
7 | NNTP | Useneti uudised | 119 | nntplib |
8 | SMTP | Meili saatmine | 25 | smtplib |
E-kirja saatmine
SMTP (Simple Mail Transfer Protocol) on protokoll, mis käsitleb e-kirjade marsruutimist ja meiliserverite vahelist e-kirjade saatmist.
Python pakub moodulit smtplib, mis määratleb SMTP-kliendi seansiobjekti, mida kasutatakse ESMTP- või SMTP-kuulajadeemoniga Interneti-masinasse kirjade saatmiseks.
SÜNTAKS
|_+_|Mõned üksikasjad parameetritest −
- host – see on host, mis käitab teie SMTP-serverit. Saate määrata domeeninime või hosti IP-aadressi.
- port - Kui pakute hostargumendi, peate määrama pordi, mida SMTP-server kuulab.
- local_hostname – kui kohalikus masinas töötab SMTP-server, võite valikuna määrata ainult kohaliku hosti.
SMTP-objektil on esinemismeetod, mida nimetatakse sendmailiks ja mida kasutatakse kirja saatmiseks. Sellel on kolm parameetrit –
- Saatja – string saatja aadressiga.
- Vastuvõtjad – stringide loend, üks iga adressaadi jaoks.
- Sõnum – sõnum stringina, mis on vormindatud vastavalt erinevatele RFC-dele.
HTML-meili saatmine Pythoni abil
Kui saadate a tekstisõnum Pythonit kasutades käsitletakse sisu lihtsa tekstina. Kui lisate tekstisõnumisse HTML-märgendeid, kuvatakse see lihtsate HTML-märgenditena ja tekst ei ole vormindatud HTML-i süntaksi järgi. Python pakub võimalust saata HTML-sõnum tegeliku HTML-sõnumina.
E-kirja saatmise ajal saate HTML-meili saatmiseks määrata Mime-i versiooni, sisutüübi ja märgistiku.
Manuste saatmine e-kirjana
Kui soovite saata meili segatud sisuga, peate määrama sisutüübi päise olekuks Multipart/Mixed. Teksti- ja manuste jaotised võivad olla määratud piirides.
Piiri alustatakse kahe sidekriipsuga, millele järgneb kordumatu number, mis ei saa ilmuda e-kirja sõnumiosas. Viimane serv, mis tähistab meili viimast osa, peaks samuti lõppema kahe sidekriipsuga. Manustatud failid on kodeeritud funktsiooniga pack(m), et enne edastamist oleks base64 kodeering.
Mitme lõimega programmeerimine
Erinevate lõimede käivitamine sarnaneb erinevate programmide käitamisega.
- Protsessi mitu lõime jagavad põhilõimega sama andmeruumi ja see jagab teavet üksteisega kiiremini kui eraldi protsesside korral.
- Lõime nimetatakse mõnikord kergeteks protsessideks ja need ei nõua palju mälu. Need on odavamad kui meetodid.
Lõim koosneb algusest, täitmisjadast ja järeldusest. Sellel on juhiste osuti, mis jälgib, kus kontekst parasjagu töötab.
- Seda saab katkestada.
- Teiste lõimede töötamise ajal võidakse see ajutiselt ootele panna – seda nimetatakse järeleandmiseks.
Uue lõime alustamine
Erineva lõime loomiseks peate kutsuma välja järgmise meetodi, mis on saadaval lõimemoodulis −
thread.start_new_thread (funktsioon, args[, kwargs])
See meetod võimaldab kiiresti ja tõhusalt luua uusi lõime nii aknas kui ka Linuxis. See naaseb kohe ja alamlõng käivitub ja kutsub funktsiooni läbitud argumentide loendiga. Kui funktsioon naaseb, lõng lõpeb.
Siin on argumendiks argumentide rida, mis kasutavad funktsiooni kutsumiseks tühja korterit ilma argumente edastamata.
Keermestamise moodul
Python 2.4 uus lõimemismoodul pakub lõimedele võimsamat ja kõrgetasemelisemat tuge kui eelmises jaotises olnud lõimemoodul.
Keermestamismoodul tutvustab keermemooduli meetodeid ja pakub mõningaid lisavõtteid
Lõimede sünkroonimine
Pythoniga kaasas olev keermestusmoodul sisaldab lukustusmehhanismi, mis aitab teil niite sünkroonida. Uus lukk luuakse helistades numbrile lukk () meetodit ja see tagastab uue luku.
The blokeerimine lukuobjekti meetodit kasutatakse lõimede käivitamiseks. The blokeerimine parameeter võimaldab teil juhtida lõime, mis ootab luku saamist.
Kui blokeerimine on seatud väärtusele 0, naaseb lõime kohe väärtusega 0, kui lukku ei saa omandada, ja 1-ga, kui lukk on omandatud.
The vabasta () luku meetodit kasutatakse luku vabastamiseks, kui seda enam ei vajata.
Mitme lõimega prioriteetne järjekord
Moodul Järjekord aitab teil luua uue järjekorraobjekti, mis sisaldab kindlat arvu üksusi. Järjekorra juhtimiseks on järgmised meetodid −