Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Gjuha Python. Python për mësimin e makinerive

Programi është një grup algoritmesh që sigurojnë ekzekutimin e veprimeve të nevojshme. Në mënyrë konvencionale, në të njëjtën mënyrë, ju mund të programoni një person të zakonshëm duke shkruar komanda të sakta në mënyrë që, për shembull, të bëni çaj. Nëse opsioni i fundit përdor fjalim natyral (rusisht, ukrainisht, anglisht, koreanisht, etj.), Atëherë do të nevojitet një gjuhë e veçantë programimi për kompjuterin. Python është një prej tyre. Mjedisi i programimit më pas do t'i përkthejë komandat dhe do të përmbushet qëllimi i personit për të cilin është krijuar algoritmi. Python ka sintaksën e vet, e cila do të diskutohet më poshtë.

Historia e gjuhës

Zhvillimi filloi në vitet 1980 dhe përfundoi në 1991. Gjuha Python u krijua nga Guido van Rossum. Edhe pse simboli kryesor i "Python" është gjarpëri, ai mori emrin e shfaqjes së humorit amerikan.

Gjatë krijimit të gjuhës, zhvilluesi përdori disa komanda të huazuara nga Pascal, C dhe C ++ ekzistues. Pasi versioni i parë zyrtar doli në internet, një grup i tërë programuesish u bashkuan për ta rafinuar dhe përmirësuar atë.

Një nga faktorët që lejoi Python të bëhej mjaft i famshëm është dizajni. Ai njihet si një nga më të mirët nga shumë specialistë shumë të suksesshëm.

Karakteristikat e "Python"

Gjuha e programimit Python për fillestarët është një mësues i shkëlqyeshëm. Ka një sintaksë mjaft të thjeshtë. Do të jetë e lehtë për të kuptuar kodin, sepse ai nuk përfshin shumë elementë ndihmës, dhe struktura e veçantë e gjuhës do t'ju mësojë se si të bëni dhëmbëzim. Sigurisht, një program i dizajnuar mirë me pak komanda do të jetë menjëherë i kuptueshëm.

Shumë sisteme sintaksore janë ndërtuar rreth programimit të orientuar nga objekti. Python nuk bën përjashtim. Për çfarë saktësisht lindi? Do të lehtësojë trajnimin për fillestarët, do të ndihmojë për të kujtuar disa nga elementët e punonjësve tashmë të kualifikuar.

Sintaksa e gjuhës

Siç u përmend tashmë, kodi është i lehtë dhe i thjeshtë për t'u lexuar. "Python" ka komanda sekuenciale që dallohen nga qartësia e ekzekutimit. Në parim, operatorët e përdorur nuk do të duken të vështirë as për fillestarët. Kjo është ajo që e bën Python të ndryshëm. Sintaksa e saj është e lehtë dhe e thjeshtë.

Operatorët tradicionalë:

  • Kur vendosni një kusht, përdorni konstruksionin if-else. Nëse ka shumë rreshta të tillë, mund të futni komandën elif.
  • Klasa është për të kuptuar klasën.
  • Një nga operatorët më të thjeshtë është kalimi. Nuk bën asgjë, përshtatet për blloqe boshe.
  • Komandat e lakut janë while dhe for.
  • Funksioni, metoda dhe gjeneratori përcaktohen falë def.

Përveç fjalëve të vetme, gjuha e programimit Python ju lejon të përdorni shprehje si operatorë. Duke përdorur zinxhirin e vargjeve, mund të zvogëloni numrin e komandave dhe kllapave individuale. Përdoren edhe të ashtuquajturat përllogaritje dembele, pra ato që kryhen vetëm kur e kërkon gjendja. Këto përfshijnë dhe dhe ose.

Procesi i shkrimit të programeve

Përkthyesi punon në një mekanizëm të vetëm: kur shkruani një rresht (pas së cilës vendoset "Enter"), ai ekzekutohet menjëherë dhe një person tashmë mund të shohë një rezultat. Kjo është mjaft e dobishme dhe e përshtatshme për fillestarët ose ata që duan të testojnë një pjesë të vogël të kodit. Në mjediset e përpiluara, fillimisht duhet të shkruani të gjithë programin, vetëm më pas ta ekzekutoni dhe të kontrolloni për gabime.

Gjuha e programimit Python (për fillestarët, siç është bërë tashmë e qartë, është ideale) në sistemin operativ Linux ju lejon të punoni drejtpërdrejt në vetë konsolën. Ju duhet të shkruani emrin e kodit "Python" në anglisht në vijën e komandës. Nuk do të jetë e vështirë të krijoni programin tuaj të parë. Para së gjithash, duhet të kihet parasysh se këtu mund të përdorni përkthyesin si kalkulator. Meqenëse specialistët e rinj dhe fillestarë shpesh nuk janë miqësorë me sintaksën, algoritmi mund të shkruhet si më poshtë:

Pas çdo rreshti është e nevojshme të vendosni "Enter". Përgjigja do të shfaqet menjëherë pasi ta klikoni.

Të dhënat e përdorura nga Python

Ka disa lloje të dhënash të përdorura nga kompjuterët (dhe gjuhët e programimit), dhe kjo është mjaft e qartë. Numrat mund të jenë të pjesshëm, të plotë, mund të përbëhen nga shumë shifra ose të jenë mjaft masivë për shkak të pjesës thyesore. Për ta bërë më të lehtë për përkthyesin të punojë me ta, dhe ai të kuptojë se me çfarë ka të bëjë, duhet të caktohet një lloj specifik. Për më tepër, është e nevojshme që numrat të futen në qelizën e memories së caktuar.

Llojet më të zakonshme të të dhënave të përdorura nga gjuha e programimit Python janë:

  • Numër i plotë. Bëhet fjalë për numra të plotë që kanë vlera negative dhe pozitive. Në këtë lloj përfshihet edhe zero.
  • Në mënyrë që përkthyesi të kuptojë se është duke punuar me pjesë fraksionale, lloji duhet të vendoset në pikën float. Si rregull, përdoret në rastin e përdorimit të numrave me një pikë të ndryshme. Duhet mbajtur mend se kur shkruani një program, duhet t'i përmbaheni shënimit "3.25" dhe të mos përdorni presjen "3.25".
  • Në rastin e shtimit të vargjeve, gjuha e programimit Python ju lejon të shtoni llojin e vargut. Shpesh, fjalët ose frazat mbyllen në një ose

Disavantazhet dhe përfitimet

Në dekadat e fundit, njerëzit kanë qenë më të interesuar se si të shpenzojnë më shumë kohë për të zotëruar të dhënat dhe më pak kohë që ato të përpunohen nga kompjuteri. Një gjuhë për të cilën ka vetëm pozitive është kodi më i lartë.

Praktikisht nuk ka të meta në Python. E vetmja pengesë serioze është ngadalësia e ekzekutimit të algoritmit. Po, nëse e krahasoni me "C" ose "Java", ai është, sinqerisht, një breshkë. Kjo shpjegohet me faktin se kjo

Zhvilluesi është kujdesur të shtojë më të mirat në Python. Prandaj, kur e përdorni, do të vini re se ai ka thithur veçoritë më të mira të gjuhëve të tjera të programimit më të larta.

Në rast se ideja e zbatuar nga përkthyesi nuk është mbresëlënëse, atëherë kjo do të jetë e mundur të kuptohet pothuajse menjëherë, pasi të keni shkruar disa dhjetëra rreshta. Nëse programi është i mirë, atëherë seksioni kritik mund të përmirësohet në çdo kohë.

Në ditët e sotme, më shumë se një grup programuesish po punojnë për përmirësimin e Python, kështu që nuk është fakt që kodi i shkruar në C ++ do të jetë më i mirë se ai i krijuar duke përdorur Python.

Me cilin version është më mirë të punosh?

Tani dy versione të një sistemi sintaksor të tillë si gjuha Python përdoren gjerësisht menjëherë. Për fillestarët, zgjedhja midis tyre do të jetë mjaft e vështirë. Duhet të theksohet se 3.x është ende në zhvillim (edhe pse i lëshuar në masë), ndërsa 2.x është një version plotësisht i finalizuar. Shumë njerëz këshillojnë përdorimin e 2.7.8, pasi praktikisht nuk mbetet dhe nuk ngatërrohet. Nuk ka ndryshime rrënjësore në versionin 3.x, kështu që në çdo kohë kodi juaj mund të transferohet në mjedisin e programimit me një përditësim. Për të shkarkuar programin e kërkuar, duhet të shkoni në faqen zyrtare të internetit, të zgjidhni sistemin tuaj operativ dhe të prisni derisa të përfundojë shkarkimi.

Python është një gjuhë skriptuese popullore dhe e fuqishme me të cilën mund të bësh çfarë të duash. Për shembull, ju mund të zvarriteni dhe të mblidhni të dhëna nga faqet e internetit, të ndërtoni rrjete dhe mjete, të kryeni llogaritje, të programoni për Raspberry Pi, të zhvilloni programe grafike dhe madje edhe video lojëra. Ju mund të shkruani programe të sistemit të pavarur nga platforma në Python.

Në këtë artikull do të shqyrtojmë bazat e programimit në Python, do të përpiqemi të mbulojmë të gjitha tiparet themelore që ju nevojiten për të filluar përdorimin e gjuhës. Ne do të shikojmë përdorimin e klasave dhe metodave për të zgjidhur probleme të ndryshme. Supozohet se tashmë jeni njohur me bazat dhe sintaksën e gjuhës.

Çfarë është Python?

Unë nuk do të hyj në historinë e krijimit dhe zhvillimit të gjuhës, mund ta zbuloni lehtësisht nga videoja që do të bashkangjitet më poshtë. Është e rëndësishme të theksohet se Python është një gjuhë skriptimi. Kjo do të thotë se kodi juaj kontrollohet për gabime dhe ekzekutohet menjëherë pa ndonjë përpilim ose ripunim shtesë. Kjo qasje quhet edhe e interpretuar.

Kjo ngadalëson performancën, por është shumë i përshtatshëm. Këtu ka një përkthyes, në të cilin mund të futni komanda dhe të shihni menjëherë rezultatin e tyre. Kjo punë ndërvepruese është shumë e dobishme për të mësuar.

Puna në përkthyes

Është shumë e lehtë të nisësh interpretuesin Python në çdo sistem operativ. Për shembull, në Linux, mjafton të shkruani komandën python në terminal:

Në promptin e interpretuesit që hapet, ne shohim versionin e Python që është aktualisht në përdorim. Në ditët e sotme, dy versione të Python 2 dhe Python 3 janë shumë të përhapur. Ata janë të dy të njohur sepse shumë programe dhe biblioteka janë zhvilluar në të parin, dhe i dyti ka më shumë veçori. Prandaj, shpërndarjet përfshijnë të dy versionet. Versioni i dytë niset si parazgjedhje. Por nëse keni nevojë për versionin 3, atëherë duhet të ekzekutoni:

Është versioni i tretë që do të shqyrtohet në këtë artikull. Tani le të shohim veçoritë kryesore të kësaj gjuhe.

Operacionet e vargut

Vargjet në Python janë të pandryshueshme; ju nuk mund të ndryshoni një nga karakteret në një varg. Çdo ndryshim në përmbajtje kërkon krijimin e një kopje të re. Hapni një përkthyes dhe ndiqni shembujt e mëposhtëm për të kuptuar më mirë atë që keni shkruar:

1. Lidhja e vargjeve

str = "mirë se erdhët" + "në python"
print (rr)

2. Shumëzimi i vargjeve

str = "I humbur" * 2
print (rr)

3. Kombinoje me transformim

Ju mund të lidhni një varg me një numër ose boolean. Por për këtë ju duhet të përdorni një transformim. Ekziston një funksion str () për këtë:

str = "Ky është një numër testimi" + str (15)
print (rr)

4. Kërkoni për një nënvarg

Ju mund të gjeni një karakter ose nënvarg duke përdorur metodën e gjetjes:

str = "Mirëserdhe në sit"
print (rr.find ("faqe"))

Kjo metodë shfaq pozicionin e shfaqjes së parë të nënvargut të faqes nëse gjendet, nëse nuk gjendet asgjë, atëherë vlera -1 kthehet. Funksioni fillon të kërkojë me karakterin e parë, por mund të filloni me karakterin e n-të, për shembull 26:

str = "Mirëserdhe në faqen e sajtit"
print (str.find ("humbur", 26))

Në këtë rast, funksioni do të kthehet -1 sepse vargu nuk u gjet.

5. Marrja e një nënvargu

Ne morëm pozicionin e nënvargut që po kërkojmë, dhe tani si ta marrim vetë nënvargun dhe çfarë është pas tij? Për ta bërë këtë, përdorni këtë sintaksë [fillimi: fundi], thjesht specifikoni dy numra ose vetëm të parin:

str = "Një dy tre"
printim (rruga [: 2])
print (rr)
print (rr)
printim (rr [-1])

Rreshti i parë do të shtypë nënvargun nga karakteri i parë në të dytën, i dyti - nga i dyti në fund. Vini re se numërimi mbrapsht fillon në zero. Për të numëruar mbrapsht, përdorni një numër negativ.

6. Zëvendësimi i nënvargut

Ju mund të zëvendësoni një pjesë të një vargu duke përdorur metodën e zëvendësimit:

str = "Kjo faqe ka të bëjë me Linux"
str2 = str.replace ("Linux", "Windows")
printim (str2)

Nëse ka shumë dukuri, atëherë vetëm e para mund të zëvendësohet:

str = "Kjo është një faqe Linux dhe unë jam abonuar në këtë sajt"
str2 = str.replace ("faqe", "faqe", 1)
printim (str2)

7. Linjat e pastrimit

Ju mund të hiqni hapësirën shtesë të bardhë me funksionin e shiritit:

str = "Kjo është një faqe interneti Linux"
print (rr. shirit ())

Është gjithashtu e mundur të hiqni hapësirat shtesë vetëm në të djathtë të rstrip ose vetëm në të majtë - lstrip.

8. Ndryshimi i regjistrit

Ka funksione të veçanta për të ndryshuar rastin e karaktereve:

str = "Mirëserdhe në Losst"
print (rr. sipërme ())
print (rr. më e ulët ())

9. Konvertimi i vargjeve

Ekzistojnë disa funksione për konvertimin e një vargu në lloje të ndryshme numerike, këto janë int (), float (), long () dhe të tjera. Funksioni int () konvertohet në një numër të plotë dhe float () në një numër me pikë lundruese:

str = "10"
str2 = "20"
printim (str + str2)
print (int (str) + int (str2))

10. Gjatësia e vijave

Ju mund të përdorni funksionet min (), max (), len () për të llogaritur numrin e karaktereve në një varg:

str = "Mirë se vini në faqen e internetit të humbur"
printim (min (rrugë))
printim (maksimumi (rr))
print (len (rr))

E para tregon madhësinë minimale të karakterit, e dyta tregon maksimumin dhe e treta tregon gjatësinë totale të vargut.

11. Lak mbi vijën

Ju mund të përdorni çdo karakter të vargut veçmas me një lak for:

str = "Mirëserdhe në sit"
për i në varg (len (str)):
print (rr [i])

Për të kufizuar ciklin, ne përdorëm funksionin len (). Kushtojini vëmendje dhëmbëzimit. Programimi në Python bazohet në këtë, nuk ka kllapa për të organizuar blloqe, por vetëm indentacion.

Veprimet me numra

Numrat në Python janë mjaft të lehtë për t'u deklaruar ose përdorur në metoda. Ju mund të krijoni numra të plotë ose numra me pikë lundruese:

num1 = 15
num2 = 3,14

1. Rrumbullakimi i numrave

Ju mund të rrumbullakosni një numër duke përdorur funksionin e rrumbullakët, thjesht specifikoni sa karaktere duhet të lini:

a = 15,5652645
printim (rrumbullakët (a, 2))

2. Gjenerimi i numrave të rastit

Ju mund të merrni numra të rastësishëm duke përdorur modulin e rastësishëm:

import të rastësishëm
printim (i rastësishëm. i rastësishëm ())

Si parazgjedhje, numri gjenerohet në intervalin 0,0 deri në 1,0. Por ju mund të vendosni gamën tuaj:

import të rastësishëm
numrat =
printim (i rastësishëm.zgjedhja (numrat))

Operacionet e datës dhe kohës

Gjuha e programimit Python ka një modul DateTime që ju lejon të kryeni operacione të ndryshme në datë dhe orë:

data e importit
cur_date = datetime.datetime.now ()
printim (data e tanishme)
printim (data kur_vit.vit)
printim (data e tanishme.dita)
printim (data e tanishme.ditë e javës ())
printim (data kur_muaj)
print (cur_date.time ())

Shembulli tregon se si të nxirret vlera e dëshiruar nga një objekt. Ju mund të gjeni ndryshimin midis dy objekteve:

data e importit
koha1 = datatime.datetime.tani ()
koha2 = datatime.datetime.tani ()
timediff = koha2 - koha1
printim (timediff.mikrosekonda)

Ju mund të krijoni vetë objekte data me një vlerë arbitrare:

koha1 = datatime.datetime.tani ()
koha2 = datakoha.kohadelta (ditë = 3)
koha3 = koha1 + koha2
printim (ora 3.datë ())

1. Formatimi i datës dhe orës

Metoda strftime ju lejon të ndryshoni formatin e datës dhe orës në varësi të standardit të zgjedhur ose formatit të specifikuar. Këtu janë simbolet bazë të formatimit:

  • % a- dita e javës, emri i shkurtuar;
  • % A- dita e javës, emri i plotë;
  • % w- numri i ditës së javës, nga 0 në 6;
  • % d- dita e muajit;
  • % b- emri i shkurtuar i muajit;
  • % B- emri i plotë i muajit;
  • % m- numri i muajit;
  • % Y- numri i vitit;
  • % H- ora e ditës në format 24 orë;
  • % l- ora e ditës në format 12 orësh;
  • % fq- Paradite apo pasdite;
  • % M- minutë;
  • % S- e dyta.

data e importit
data1 = datatime.datetime.tani ()
printim (data 1.strftime ("% d.% B% Y% I:% M% p"))

2. Krijo datën nga vargu

Ju mund të përdorni funksionin strptime () për të krijuar një objekt datë nga një varg:

data e importit
date1 = datetime.datetime.strptime ("2016-11-21", "% Y-% m-% d")
data2 = datatime.datatime (viti = 2015, muaji = 11, dita = 21)
printim (data 1);
printim (data 2);

Operacionet e sistemit të skedarëve

Menaxhimi i skedarëve është shumë i lehtë në gjuhën e programimit Python, është gjuha më e mirë për të punuar me skedarë. Gjithsesi, mund të themi se Python është gjuha më e thjeshtë.

1. Kopjimi i skedarëve

Për të kopjuar skedarët, duhet të përdorni funksionet nga moduli i subutilit:

import shutil
New_path = shutil.copy ("file1.txt", "file2.txt")

New_path = shutil.copy ("file1.txt", "file2.txt", follow_symlinks = False)

2. Lëvizja e skedarëve

Lëvizja e skedarëve bëhet duke përdorur funksionin lëviz:

shutil.move ("file1.txt", "file3.txt")

Funksioni i riemërtimit nga moduli os ju lejon të riemërtoni skedarët:

import OS
os.rename ("file1.txt", "file3.txt")

3. Leximi dhe shkrimi i skedarëve tekstualë

Ju mund të përdorni funksionet e integruara për të hapur skedarë, lexuar ose shkruar të dhëna në to:

fd = hapur ("file1.txt")
përmbajtje = fd.lexo ()
printim (përmbajtje)

Së pari, duhet të hapni skedarin për të punuar me funksionin e hapur. Për të lexuar të dhëna nga një skedar, përdorni funksionin e leximit, teksti i lexuar do të ruhet në një ndryshore. Ju mund të specifikoni numrin e bajteve për të lexuar:

fd = hapur ("file1.txt")
përmbajtje = fd.lexo (20)
printim (përmbajtje)

Nëse skedari është shumë i madh, mund ta ndani në rreshta dhe ta bëni përpunimin si kjo:

përmbajtje = fd.readlines ()
printim (përmbajtje)

Për të shkruar të dhëna në një skedar, së pari duhet ta hapni atë për shkrim. Ka dy mënyra funksionimi - mbishkruani dhe shtojini në fund të skedarit. Mënyra e regjistrimit:

fd = hapur ("file1.txt", "w")

Dhe duke shtuar në fund të skedarit:

fd = hapur ("file1.txt", "a")
përmbajtje = fd.write ("Përmbajtje e re")

4. Krijimi i drejtorive

Për të krijuar një direktori, përdorni funksionin mkdir nga moduli os:

import OS
os.mkdir ("./ dosje e re")

5. Marrja e kohës së krijimit

Ju mund të përdorni funksionet getmtime (), getatime () dhe getctime () për të marrë kohën e modifikimit të fundit, aksesin e fundit dhe të krijuar. Rezultati do të shfaqet në formatin Unix, kështu që ju duhet ta konvertoni atë në një formë të lexueshme:

import OS
data e importit
tim = os.path.getctime ("./ file1.txt")
printim (data.data.nga vula kohore (tim))

6. Lista e dosjeve

Me funksionin listdir (), mund të listoni skedarët në një dosje:

import OS
skedarë = os.listdir (".")
printoni (skedarët)

Moduli glob mund të përdoret për të kryer të njëjtën detyrë:

glob importi
skedarë = glob.glob ("*")
printoni (skedarët)

7. Serializimi i objekteve Python

turshi importi
fd = hapur ("myfile.pk", "wb")
pickle.dump (mydata, fd)

Pastaj për të rivendosur objektin përdorni:

turshi importi
fd = hapur ("myfile.pk", "rb")
mydata = turshi.ngarkoj (fd)

8. Kompresimi i skedarëve

Biblioteka standarde Python ju lejon të punoni me formate të ndryshme arkivore si zip, tar, gzip, bzip2. Për të parë përmbajtjen e një skedari përdorni:

importoni skedarin zip
my_zip = zipfile.ZipFile ("my_file.zip", modaliteti = "r")
print (file.lista e emrave ())

Dhe për të krijuar një arkiv zip:

importoni skedarin zip
skedar = zipfile.ZipFile ("files.zip", "w")
file.write ("file1.txt")
skedar.mbyll ()

Ju gjithashtu mund të shpaketoni arkivin:

importoni skedarin zip
skedar = zipfile.ZipFile ("files.zip", "r")
file.extractall ()
skedar.mbyll ()

Ju mund të shtoni skedarë në arkiv si kjo:

importoni skedarin zip
skedar = zipfile.ZipFile ("files.zip", "a")
file.write ("file2.txt")
skedar.mbyll ()

9. Analizimi i skedarëve CSV dhe Exel

Duke përdorur modulin panda, mund të shikoni dhe analizoni përmbajtjen e tabelave CSV dhe Exel. Së pari ju duhet të instaloni modulin duke përdorur pip:

sudo pip instaloni panda

Pastaj, për të analizuar, shkruani:

importojnë panda
data = pandas.read_csv ("file.csv)

Si parazgjedhje, pandat përdor kolonën e parë për titujt e çdo rreshti. Ju mund të specifikoni kolonën për indeksin duke përdorur parametrin index_col, ose të specifikoni False nëse nuk nevojitet. Për të shkruar ndryshimet në skedar, përdorni funksionin to_csv:

data.to_csv ("file.csv)

Skedari Exel mund të analizohet në të njëjtën mënyrë:

data = pd.read_excel ("file.xls", emri i fletës = "Fleta1")

Nëse keni nevojë të hapni të gjitha tabelat, përdorni:

të dhëna = pd.ExcelFile ("file.xls")

Pastaj mund t'i shkruani të gjitha të dhënat:

data.to_excel ("file.xls", fletë = "Fleta1")

Rrjetëzimi në Python

Programimi i Python 3 shpesh përfshin rrjetëzim. Biblioteka standarde e Python përfshin aftësi socket për qasje në rrjet të nivelit të ulët. Kjo është e nevojshme për të mbështetur shumë protokolle rrjeti.

fole importi
host = "192.168.1.5"
port = 4040
my_sock = fole.create_connection ((host, port))

Ky kod lidhet me portin 4040 në makinën 192.168.1.5. Kur priza është e hapur, mund të dërgoni dhe merrni të dhëna:

my_sock.sendall (b "Hello World")

Duhet të shkruajmë karakterin b para vargut, sepse duhet të transferojmë të dhëna në modalitetin binar. Nëse postimi është shumë i madh, mund të përsërisni:

msg = b "Mesazhi më i gjatë shkon këtu"
mesglen = len (msg)
total = 0
ndërsa totali< msglen:
dërguar = my_sock.send (msg)
total = total + dërguar

Për të marrë të dhëna, gjithashtu duhet të hapni një prizë, përdoret vetëm metoda my_sock_recv:

data_in = my_sock.recv (2000)

Këtu tregojmë se sa të dhëna duhet të merren - 20,000, të dhënat nuk do të transferohen në një variabël derisa të merren 20,000 bajt të dhëna. Nëse mesazhi është më i madh, atëherë për ta marrë atë duhet të krijoni një lak:

buffer = bytearray (b "" * 2000)
my_sock.recv_into (buffer)

Nëse buferi është bosh, mesazhi i marrë do të shkruhet atje.

Puna me postë

Biblioteka Standarde e Python ju lejon të merrni dhe dërgoni mesazhe me email.

1. Marrja e postës nga serveri POP3

Ne përdorim një server POP për të marrë mesazhe:

import getpass, poplib
pop_serv = poplib.POP3 ("192.168.1.5")
pop_serv.user ("myuser")
pop_serv.pass_ (getpass.getpass ())

Moduli getpass ju lejon të merrni në mënyrë të sigurt fjalëkalimin e përdoruesit në mënyrë që të mos shfaqet në ekran. Nëse serveri POP përdor një lidhje të sigurt, duhet të përdorni klasën POP3_SSL. Nëse lidhja ishte e suksesshme, mund të ndërveproni me serverin:

msg_list = pop_serv.list () # për të renditur mesazhet
msg_count = pop_serv.msg_count ()

Për të përfunduar punën përdorni:

2. Marrja e postës nga serveri IMAP

Për t'u lidhur dhe punuar me serverin IMAP, përdoret moduli imaplib:

importoni imaplib, getpass
my_imap = imaplib.IMAP4 ("imap.server.com")
my_imap.login ("myuser", getpass.getpass ())

Nëse serveri juaj IMAP përdor një lidhje të sigurt, duhet të përdorni klasën IMAP4_SSL. Për të marrë një listë të mesazheve përdorni:

data = my_imap.search (Asnjë, "ALL")

Pastaj mund të kaloni nëpër listën e zgjedhur dhe të lexoni çdo mesazh:

msg = my_imap.fetch (id_email, "(RFC822)")

Por mos harroni të mbyllni lidhjen:

my_imap.close ()
my_imap.logout ()

3. Dërgimi i postës

Për të dërguar postë, përdoret protokolli SMTP dhe moduli smtplib:

import smtplib, getpass
my_smtp = smtplib.SMTP (smtp.server.com ")
my_smtp.login ("myuser", getpass.getpass ())

Si më parë, përdorni SMTP_SSL për një lidhje të sigurt. Kur të vendoset lidhja, mund të dërgoni një mesazh:

from_addr = " [email i mbrojtur]"
to_addr = " [email i mbrojtur]"
msg = "Nga: [email i mbrojtur]\ r \ nPër: [email i mbrojtur]\ r \ n \ r \ nPërshëndetje, ky është një mesazh testimi "
my_smtp.sendmail (nga_addr, te_addr, msg)

Puna me ueb faqe

Programimi Python shpesh përdoret për të shkruar skripta të ndryshëm për të punuar me ueb.

1. Zvarritje në ueb

Moduli urllib ju lejon të bëni kërkesa në faqet e internetit në mënyra të ndryshme. Klasa e kërkesës përdoret për të dërguar një kërkesë të rregullt. Për shembull, le të ekzekutojmë një kërkesë normale të faqes:

import urllib.kërkesë
my_web = urllib.request.urlopen ("https://www.google.com")
print (my_web.read ())

2. Përdorimi i metodës POST

Nëse keni nevojë të paraqisni një formular në internet, nuk duhet të përdorni një kërkesë GET, por një POST:

import urllib.kërkesë
mydata = b "Të dhënat tuaja shkojnë këtu"
my_req = urllib.request.Request ("http: // localhost", të dhënat = mydata, metoda = "POST")
my_form = urllib.request.urlopen (my_req)
print (my_form.status)

3. Krijimi i një serveri në internet

Duke përdorur klasën Socket, ju mund të pranoni lidhjet hyrëse, që do të thotë se mund të krijoni një server në internet me aftësi minimale:

fole importi
host = ""
port = 4242
serveri_my = fole.fole (socket.AF_INET, fole.SOCK_STREAM)
my_server.bind ((host, port))
my_server.dëgjo (1)

Kur krijohet serveri. mund të filloni të pranoni lidhje:

addr = my_server.accept ()
print ("Lidhur nga host", shtues)
të dhëna = conn.recv (1024)

Dhe mos harroni të mbyllni lidhjen:

Multithreading

Ashtu si shumica e gjuhëve moderne, Python ju lejon të ekzekutoni fije të shumta paralele, të cilat mund të jenë të dobishme nëse keni nevojë të kryeni llogaritje komplekse. Biblioteka standarde ka një modul threading që përmban klasën Therad:

filetimi i importit
def print_message ():
print ("Mesazhi u printua nga një temë tjetër")
my_thread = threading.Thread (objektivi = print_message)
my_thread.start ()

Nëse funksioni zgjat shumë, mund të kontrolloni nëse gjithçka është në rregull me funksionin is_alive (). Ndonjëherë temat tuaja duhet të kenë qasje në burimet globale. Për këtë, përdoren flokët:

filetimi i importit
num = 1
my_lock = fillesë. Kyç ()
def my_func ():
numri global, my_lock
my_lock.acquire ()
shuma = num + 1
shtyp (shuma)
my_lock.release ()
my_thread = threading.Thread (target = my_func)
my_thread.start ()

konkluzionet

Në këtë artikull, ne kemi mbuluar bazat e programimit të python. Tani ju i dini shumicën e funksioneve të përdorura zakonisht dhe mund t'i zbatoni ato në programet tuaja të vogla. Do t'ju pëlqejë programimi i Python 3, është shumë i lehtë! Nëse keni ndonjë pyetje, pyesni në komente!

Për ta mbyllur këtë artikull me një leksion të shkëlqyeshëm mbi Python:

Dëshironi të futeni në botën e programimit dhe të shkruani shpejt programet tuaja të para? Apo po ëndërroni të mësoni gjuhë të reja, por nuk dini nga të filloni? Hidhini një sy kurseve mbi bazat e programimit Python. Lexoni për detaje se pse rekomandohet kjo gjuhë e veçantë për fillestarët dhe çfarë programesh mund të krijoni me të.

Bazat e Python për programuesit fillestarë

Python është një gjuhë e fuqishme programimi e nivelit të lartë e orientuar drejt objekteve e krijuar nga Guido van Rossum. Ajo ka një sintaksë të lehtë për t'u përdorur, duke e bërë atë një gjuhë ideale për ata që përpiqen të mësojnë programim për herë të parë. Për të vazhduar njohjen tuaj me gjuhën, mund të lexoni librin e Dmitry Zlatopolsky "Python - bazat e programimit". Por ne do të fillojmë me bazat. Ka shumë literaturë në këtë fushë. Një tjetër mundësi janë librat e Harry Percival "Python. Zhvillimi i drejtuar nga testi”. Ai tregon për gjuhën nga një këndvështrim praktik.

Përdorimi i gjuhës në praktikë

Pra, çfarë shkruhet në Python ose "Python", siç quhet edhe nga programuesit, dhe pse ta mësojmë atë? Python është një gjuhë me qëllim të përgjithshëm. Përdoret për të shkruar aplikacione në ueb duke përdorur korniza të ndryshme, shërbime të sistemit dhe aplikacione për të automatizuar veprime të ndryshme. Kurset mbi bazat e programimit në Python tani janë të mjaftueshme për të provuar të mësoni vetë gjuhën.

Ky mund të jetë shtylla kurrizore e një profesioni të ri, pasi ka një gamë të gjerë aplikacionesh nga zhvillimi i uebit, kompjuteri shkencor dhe matematikor deri te ndërfaqet grafike të përdoruesit në desktop. Gjithashtu funksionon mirë për prototipimin. Kjo do të thotë, së pari krijohet një prototip në Python, pastaj koncepti mund të transferohet në gjuhë programimi më të shpejta dhe më të përpiluara. Duke përdorur këtë gjuhë, ju mund të krijoni aplikacione desktopi me një ndërfaqe grafike dhe të shkruani lojëra, për të cilat ekziston një bibliotekë e veçantë. Bazat e algoritmeve dhe programimit në Python janë të përshtatshme për krijimin e aplikacioneve për pajisjet mobile.

Pse të mësoni Python

Python përdor gjithashtu sintaksë shumë të thjeshtë dhe koncize dhe shtypje dinamike. Njohja e bazave të algoritmeve dhe programimit në Python ju lejon të krijoni shpejt një program dhe ta ekzekutoni atë. Nëse keni nevojë për një gjuhë për të ndërtuar shpejt aplikacione dhe skripta në fusha të shumta, do ta keni të vështirë të gjeni një alternativë më të mirë se Python. Ai ka një numër avantazhesh të dukshme në krahasim me gjuhët e tjera të programimit:

  • përdorim universal - lloje të ndryshme aplikacionesh mund të shkruhen në këtë gjuhë, prandaj, së bashku me zhvillimin e saj, ekzistojnë mundësi të gjera për përdorimin e kësaj gjuhe;
  • thjeshtësi - gjuha u zhvillua fillimisht për të thjeshtuar punën e një personi me të;
  • popullariteti në mesin e programuesve dhe kërkesa në tregun e punës - Python përdoret gjerësisht në projekte të ndryshme;
  • një numër i madh bibliotekash të disponueshme zgjerojnë aftësitë e gjuhës dhe e bëjnë atë edhe më universale;
  • ndër-platformë - një herë programi i shkruar do të funksionojë në çdo platformë ku ka një përkthyes gjuhësor;
  • një nga avantazhet e rëndësishme të gjuhës është dokumentacioni i saj me cilësi të lartë.

Python është gjithashtu një nga gjuhët më të vjetra të zhvillimit të uebit e krijuar nga Guido van Rossum në Institutin Kombëtar të Kërkimeve të Matematikës dhe Shkencave Kompjuterike në Holandë në fillim të viteve '90. Gjuha është huazuar shumë nga C ++, C dhe gjuhë të tjera skriptimi. Ai përdor fjalë kyçe në anglisht, të cilat përbëjnë shumë programim Python. Nëse i zotëroni ato, atëherë mund të supozoni se në pjesën më të madhe e keni zotëruar tashmë gjuhën. Kjo do të marrë pak kohë dhe do t'ju duhet të kuptoni konceptet bazë përpara se të filloni. Pra, le të fillojmë duke i njohur ata.

Përfitimet e Python

Një nga përfitimet kryesore të programimit Python është natyra e tij interpretuese. Kjo do të thotë që kodi i programit nuk përpilohet në një skedar të ekzekutueshëm, por ekzekutohet nga interpretuesi sa herë që niset nga përdoruesi. Prandaj, për të ekzekutuar programin, duhet ta keni në kompjuterin ku do të krijoni programet. Përkthyesi dhe biblioteka standarde janë të disponueshme në formë binare ose burimore nga faqja e internetit e Python dhe mund të funksionojnë pa probleme në të gjitha sistemet kryesore operative.

Pra, avantazhet kryesore të Python përfshijnë:

  • Natyra e interpretimit: Gjuha përpunohet nga një përkthyes në kohën e ekzekutimit, të tilla si PHP ose PERL, kështu që nuk keni nevojë të përpiloni programin përpara ekzekutimit.
  • Interaktiviteti: Ju mund të ndërveproni drejtpërdrejt me përkthyesin kur shkruani programin tuaj.
  • Ideale për fillestarët: Për programuesit fillestarë.
  • Python është një zgjedhje e shkëlqyer pasi mbështet zhvillimin e aplikacioneve, nga lojërat te shfletuesit deri te përpunimi i tekstit.

    Si të instaloni dhe ekzekutoni përkthyesin

    Për të filluar të shkruani në Python, duhet të shkarkoni dhe instaloni përkthyesin e tij në faqen zyrtare të gjuhës, duke zgjedhur versionin për sistemin tuaj operativ. Vlen të përmendet se ekzistojnë dy degë të gjuhës - e dyta dhe e treta. Është më mirë të filloni të mësoni bazat e Python 3 nëse nuk keni instaluar ende një version tjetër. Kur instaloni në Windows, sigurohuni t'i kushtoni vëmendje nëse opsioni Add Python to Path dhe programi Pip janë aktivizuar. Pasi të instalohet, mund ta ekzekutoni. Për ta bërë këtë, në vijën e komandës, duhet të futni: "python" dhe do të fillojë. Tre kllapa këndore shfaqen në dritare, që tregojnë se jeni në përkthyes. Kjo gjuhë programimi është gjithashtu e rishpërndashme lirisht, dhe ju mund të gjeni këshilla, mjete të palëve të treta, programe, module dhe dokumentacion shtesë për të.

    Fjalë kyçe në Python

    Në përkthyes, ju mund të kryeni veprime në gjuhë në mënyrë interaktive. Çdo veprim kryhet menjëherë pas shtypjes Enter. Mund ta përdorni si një kalkulator i avancuar. Por shkrimi i një programi të madh në përkthyes kërkon shumë kohë. Prandaj, ka kuptim të përdorni redaktuesit e tekstit. Skedari i përfunduar i tekstit më pas mund të ekzekutohet nga përkthyesi. Një nga bazat e Python është që çdo blloqe në të është e futur, kështu që ju duhet të bëni dhëmbëzim për të ekzekutuar bllokun dhe për ta fshirë atë. Përkthyesi mund të zgjerohet lehtësisht me tipe ose funksione të reja të dhënash në C ++ ose C. Gjuha e programimit Python vepron si një shtesë për aplikacionet e personalizuara. Ajo që e bën këtë gjuhë kaq të lehtë për t'u mësuar është fakti se ajo përdor fjalë kyçe angleze në vend të shenjave të pikësimit dhe ka më pak konstruksione sintaksore sesa gjuhët e tjera programuese.

    Fillimi me Python

    Para se të filloni jashtë interpretuesit, për të krijuar një program, duhet të hapni një redaktues teksti dhe të krijoni një skedar bosh me kodim utf-8 dhe të vendosni shtesën "py". Është mirë që për këtë qëllim të përdoren redaktues të veçantë të kodit për programuesit. Në rreshtin e parë, duhet të tregoni kodimin. Rreshtat që fillojnë me shenjën # konsiderohen komente dhe nuk ekzekutohen. Python është shtypur në mënyrë implicite dhe dinamike, kështu që nuk keni nevojë të deklaroni variabla. Llojet janë të detyrueshme dhe variablat janë gjithashtu të ndjeshme ndaj shkronjave të vogla, kështu që var dhe VAR trajtohen si dy variabla të ndara.Nëse doni të dini se si funksionon një objekt, thjesht duhet të shkruani sa vijon: "ndihmë (objekt)". Ju gjithashtu mund të përdorni komandën dir (objekt) për të gjetur të gjitha metodat e një opsioni të caktuar dhe mund të përdorni objektin __ doc__ për të gjetur vargun e tij doc.

    Si të ekzekutoni një program të shkruar

    Ju gjithashtu duhet të ekzekutoni programin e shkruar në vijën e komandës. Për ta bërë këtë, duhet të shkruani emrin e interpretuesit dhe, të ndarë me një hapësirë, emrin e skedarit me programin e shkruar. Kur filloni programin, duhet të specifikoni rrugën e plotë të skedarit. Kjo nuk është gjithmonë e lehtë, pasi rruga mund të jetë shumë e gjatë, kështu që ndonjëherë është më e lehtë të ndryshosh drejtorinë aktuale në vijën e komandës dhe të nisësh interpretuesin atje. Për ta bërë këtë, shkoni në drejtorinë e dëshiruar, mbani të shtypur tastin Shift, kliko me të djathtën në drejtori dhe zgjidhni opsionin "hap dritaren e komandës" në menynë që hapet. Pastaj linja e komandës do të hapet në këtë direktori. Më pas, në dritaren e konsolës, duhet të futni emrin e përkthyesit dhe, të ndarë me një hapësirë, emrin e skedarit që ndodhet në të.

    Sintaksa e gjuhës

    Bazat e programimit duke përdorur Python si shembull nuk janë shumë të ndryshme nga gjuhët e tjera, por variablat kanë një kuptim paksa të ndryshëm. Python nuk ka karaktere të nevojshme për të plotësuar deklaratat. Të gjitha blloqet janë të dhëmbëzuara, kështu që ju duhet të tërhiqeni për të ekzekutuar bllokun dhe për ta hequr atë. Për komentet me shumë rreshta, duhet të përdorni linja me shumë rreshta. Vlerat caktohen duke përdorur shenjën "=", dhe testimi i barazisë kryhet me dy prej tyre "==". Ju mund të rritni ose zvogëloni vlerat duke përdorur operatorët = ose - = me shumën në të djathtë. Kjo mund të funksionojë me vargje dhe lloje të tjera të dhënash. Ju gjithashtu mund të përdorni variabla të shumta në një rresht.

    Llojet e të dhënave në Python

    Tani le të shohim llojet e të dhënave. Python bazohet në strukturat e të dhënave - dict, tuples dhe lista. Kompletet mund të gjenden në Bibliotekën e Kits, të cilat janë të disponueshme në të gjitha versionet e Python. Listat janë si grupe njëdimensionale, megjithëse mund të keni edhe lista të listave të tjera. Fjalorët janë në thelb vargje shoqëruese ose tabela hash. Tuplet janë vargje njëdimensionale. Tani, vargjet e bazuara në Python mund të jenë të çdo lloji, dhe ypes është gjithmonë zero. Numrat negativë fillojnë nga fundi në fillim, dhe -1 është elementi i fundit. Variablat gjithashtu mund të tregojnë funksione.

    Vargjet në Python

    Vargjet Python mund të përdorin thonjëza të vetme ose të dyfishta, dhe ju mund të përdorni thonjëza të një lloji në një varg duke përdorur një lloj tjetër. Vargjet me shumë rreshta janë të mbyllura në thonjëza të dyfishta të vetme ose të trefishta. Për të mbushur vargjet me vlera, mund të përdorni operatorin modul (%) i ndjekur nga një tuple. Çdo% zëvendësohet me një element tuple nga e majta në të djathtë, dhe ju mund të përdorni edhe zëvendësimet e fjalorit. Deklaratat e kontrollit të rrjedhës së Python janë "ndërsa", "për" dhe "nëse". Për degëzimin, duhet të përdorni "nëse". Përdorni "për" për të numëruar përmes një liste. Përdorni një diapazon për të marrë një listë numrash.

    Funksionet në Python

    Fjala kyçe def përdoret për të deklaruar funksionet. Lidhja e një objekti tjetër me një ndryshore heq atë të vjetër dhe zëvendëson llojet e pandryshueshme. Argumentet opsionale mund të specifikohen në deklaratën e funksionit pas argumenteve të kërkuara, duke u dhënë atyre vlerat e paracaktuara. Në rastin e argumenteve të emërtuara, emrit të argumentit i caktohet një vlerë. Funksionet mund të kthejnë një tuple, dhe ju mund të ktheni në mënyrë efikase vlera të shumta duke përdorur unboxing tuple. Parametrat kalohen përmes referencës, por tuples, ints, vargjet dhe lloje të tjera të pandryshueshme janë të pandryshueshme sepse kalohet vetëm vendndodhja e memories së elementit.

    Sapo keni filluar njohjen tuaj me gjuhën, ndaj mos kini frikë nga gabimet dhe referojuni burimeve të disponueshme për të vazhduar mësimin e kësaj gjuhe programimi interesante dhe të dobishme.

    Programimi në Python

    Pjesa 1. Karakteristikat e gjuhës dhe bazat e sintaksës

    Seria e përmbajtjes:

    A duhet të mësoni Python?

    Python është një nga gjuhët më të njohura të programimit modern. Ai është i përshtatshëm për një sërë detyrash dhe ofron të njëjtat aftësi si gjuhët e tjera të programimit: dinamizëm, mbështetje OOP dhe ndër-platformë. Zhvillimi i Python filloi nga Guido Van Rossum në mesin e viteve 1990, kështu që deri më tani ka qenë e mundur të heqësh qafe sëmundjet standarde të "fëmijërisë", të zhvillohen ndjeshëm aspektet më të mira të gjuhës dhe të tërhiqen shumë programues që përdorin Python për të zbatuar. projektet e tyre.

    Shumë programues besojnë se është e nevojshme të mësohen vetëm gjuhë programimi "klasike" si Java ose C ++, pasi gjuhët e tjera ende nuk mund të ofrojnë të njëjtat aftësi. Megjithatë, kohët e fundit ka lindur bindja se është e dëshirueshme që një programues të dijë më shumë se një gjuhë, pasi kjo i zgjeron horizontet e tij, duke e lejuar atë të zgjidhë në mënyrë më kreative detyrat dhe të rrisë konkurrencën e tij në tregun e punës.

    Mësimi për të përsosur dy gjuhë të tilla si Java dhe C ++ është i vështirë dhe kërkon shumë kohë; për më tepër, shumë aspekte të këtyre gjuhëve kundërshtojnë njëra-tjetrën. Në të njëjtën kohë, Python është ideal për rolin e një gjuhe të dytë, pasi ajo asimilohet menjëherë falë njohurive tashmë ekzistuese në OOP, dhe faktit që aftësitë e tij nuk bien ndesh, por plotësojnë përvojën e fituar kur punoni me një program tjetër. gjuhe.

    Nëse një programues sapo po fillon rrugën e tij në fushën e zhvillimit të softuerit, atëherë Python do të jetë gjuha ideale e programimit "hyrëse". Për shkak të shkurtësisë së tij, do t'ju lejojë të zotëroni shpejt sintaksën e gjuhës, dhe mungesa e "trashëgimisë" në formën e aksiomave që janë formuar gjatë viteve do t'ju ndihmojë të zotëroni shpejt OOP. Për shkak të këtyre faktorëve, kurba e mësimit të Python do të jetë mjaft e shkurtër dhe programuesi do të jetë në gjendje të kalojë nga studimet e rasteve në projekte komerciale.

    Prandaj, nëse lexuesi i këtij artikulli është një programues me përvojë apo një fillestar në fushën e zhvillimit të softuerit, përgjigja e pyetjes, e cila është edhe titulli i këtij seksioni, duhet të jetë një "po" bindëse.

    Kjo seri artikujsh është krijuar për t'ju ndihmuar të kapërceni me sukses kurbën e të mësuarit duke ofruar vazhdimisht informacion nga parimet më themelore të gjuhës deri te aftësitë e saj të avancuara në drejtim të integrimit me teknologjitë e tjera. Artikulli i parë do të mbulojë veçoritë dhe sintaksën bazë të Python. Në të ardhmen, ne do të shikojmë në aspekte më komplekse të punës me këtë gjuhë popullore, në veçanti, programimin e orientuar nga objekti në Python.

    Arkitektura Python

    Çdo gjuhë, pa marrë parasysh programimin apo komunikimin, përbëhet nga të paktën dy pjesë - fjalori dhe sintaksa. Gjuha Python është e organizuar në të njëjtën mënyrë, duke siguruar një sintaksë për formimin e shprehjeve që përbëjnë programe të ekzekutueshme, dhe një fjalor - një grup funksionesh në formën e një biblioteke standarde dhe shtojcave.

    Siç u përmend, sintaksa e Python është mjaft koncize, veçanërisht kur krahasohet me Java ose C ++. Nga njëra anë, kjo është e mirë, sepse sa më e thjeshtë të jetë sintaksa, aq më e lehtë është për t'u mësuar dhe aq më pak gabime mund të bëni gjatë përdorimit të saj. Sidoqoftë, gjuhë të tilla kanë një pengesë - me ndihmën e tyre ju mund të përcillni informacionin më të thjeshtë dhe nuk mund të shprehni struktura komplekse.

    Kjo nuk vlen për Python, pasi është një gjuhë e thjeshtë por e thjeshtuar. Fakti është se Python është një gjuhë me një nivel më të lartë abstraksioni, më i lartë, për shembull, se Java dhe C ++, dhe ju lejon të transferoni të njëjtën sasi informacioni në një sasi më të vogël të kodit burimor.

    Gjithashtu, Python është një gjuhë me qëllim të përgjithshëm, kështu që mund të përdoret pothuajse në çdo fushë të zhvillimit të softuerit (të pavarur, klient-server, aplikacione në internet) dhe në çdo fushë lëndore. Për më tepër, Python integrohet pa probleme me komponentët ekzistues, duke lejuar që Python të përfshihet në aplikacionet ekzistuese.

    Një komponent tjetër i suksesit të Python janë shtojcat e tij, standarde dhe specifike. Shtojcat standarde të Python janë funksionalitete të dizajnuara mirë dhe të provuara për zgjidhjen e problemeve që lindin në çdo projekt të zhvillimit të softuerit, përpunimin e vargjeve dhe teksteve, ndërveprimin me sistemin operativ dhe mbështetjen e aplikacioneve në ueb. Këto module janë shkruar gjithashtu në Python, kështu që ata kanë pronën e tij më të rëndësishme - ndër-platformë, e cila ju lejon të transferoni pa dhimbje dhe shpejt projektet nga një sistem operativ në tjetrin.

    Nëse funksionaliteti i kërkuar nuk është në bibliotekën standarde të Python, mund të krijoni modulin tuaj shtesë për ripërdorim të mëvonshëm. Vlen të përmendet këtu se shtojcat Python mund të krijohen jo vetëm në vetë Python, por edhe duke përdorur gjuhë të tjera programimi. Në këtë rast, bëhet e mundur që në mënyrë më efikase të zbatohen detyra me burime intensive, për shembull, llogaritje komplekse shkencore, por avantazhi i ndër-platformës humbet nëse gjuha e plug-in-it nuk është vetë ndër-platformë, si Python.

    Python Runtime

    Siç e dini, të gjitha gjuhët e programimit ndër-platformë janë ndërtuar në të njëjtin model: ato janë me të vërtetë kod burimor portativ dhe një mjedis kohëzgjatjeje, i cili nuk është i lëvizshëm dhe është specifik për secilën platformë specifike. Kjo kohë ekzekutimi zakonisht përfshin një përkthyes që ekzekuton kodin burimor dhe shërbimet e ndryshme të nevojshme për të mirëmbajtur aplikacionin - një korrigjues, një asembler të kundërt, etj.

    Koha e ekzekutimit Java përfshin gjithashtu një përpilues sepse kodi burimor duhet të kompilohet në bytecode për makinën virtuale Java. Koha e ekzekutimit të Python përfshin vetëm një interpretues, i cili është gjithashtu një përpilues, por përpilon kodin burimor të Python direkt në kodin e makinës së platformës së synuar.

    Aktualisht janë të njohura tre zbatime të kohës së ekzekutimit për Python: CPython, Jython dhe Python.NET. Siç sugjeron emri, korniza e parë zbatohet në C, e dyta në Java dhe e fundit në platformën .NET.

    Koha e ekzekutimit të CPython zakonisht quhet Python, dhe kur njerëzit flasin për Python, ky është zbatimi që përmendet më shpesh. Ky implementim përbëhet nga një përkthyes dhe shtojca të shkruara në C dhe mund të përdoret në çdo platformë për të cilën disponohet një përpilues standard C. Përveç kësaj, ekzistojnë tashmë versione të përpiluara të kohës së funksionimit për sisteme të ndryshme operative, duke përfshirë versione të ndryshme të Windows OC dhe shpërndarje të ndryshme.Linux. Në këtë dhe artikuj pasues, CPython do të merret parasysh, përveç nëse specifikohet ndryshe veçmas.

    Koha e ekzekutimit të Jython është një zbatim i Python për të punuar me Makinën Virtuale Java (JVM). Çdo version JVM mbështetet, duke filluar nga versioni 1.2.2 (versioni aktual Java është 1.6). Jython kërkon një makinë të instaluar Java (Java runtime) dhe disa njohuri të gjuhës programuese Java. Nuk është e nevojshme të jeni në gjendje të shkruani kodin burim në Java, por do t'ju duhet të merreni me skedarët JAR dhe aplikacionet Java, si dhe dokumentacionin në formatin JavaDOC.

    Cili version i mjedisit për të zgjedhur varet vetëm nga preferencat e programuesit; në përgjithësi, rekomandohet të mbani të dy CPython dhe Jython në kompjuter, pasi ato nuk bien ndesh me njëri-tjetrin, por plotësojnë njëra-tjetrën. CPython është më i shpejtë sepse nuk ka media JVM; përveç kësaj, versionet e përditësuara të Python lëshohen fillimisht si mjedisi CPython. Sidoqoftë, Jython mund të përdorë çdo klasë Java si një shtesë dhe të ekzekutohet në çdo platformë për të cilën ekziston një zbatim JVM.

    Të dy mjediset e ekzekutimit lëshohen nën një licencë të përputhshme me licencën e mirënjohur GPL, kështu që ato mund të përdoren për të zhvilluar si softuer komercial, ashtu edhe të lirë ose të lirë. Shumica e shtojcave Python janë gjithashtu të licencuara nga GPL dhe mund të përdoren lirisht në çdo projekt, por ka shtesa tregtare ose shtesa me licenca më të rrepta. Prandaj, kur përdorni Python në një projekt tregtar, duhet të jeni të vetëdijshëm për kufizimet në licencat shtesë.

    Fillimi me Python

    Para se të filloni të përdorni Python, duhet të instaloni mjedisin e tij të ekzekutimit - në këtë artikull, ai është CPython dhe, në përputhje me rrethanat, interpretuesi python. Ka metoda të ndryshme instalimi: përdoruesit e avancuar mund të përpilojnë vetë Python nga kodi i tij burim publik, binarët e para-ndërtuar për një sistem operativ specifik mund të shkarkohen gjithashtu nga www.python.org dhe së fundi, shumë shpërndarje Linux vijnë me një të para-instaluar Interpretuesi Python. Ky artikull përdor versionin Windows të Python 2.x, por shembujt e dhënë mund të ekzekutohen në çdo version të Python.

    Pasi instaluesi të ketë vendosur binarët Python në drejtorinë e specifikuar, duhet të kontrolloni vlerat e variablave të mëposhtëm të sistemit:

    • RRUGË. Kjo variabël duhet të përmbajë shtegun drejt drejtorisë ku është instaluar Python në mënyrë që sistemi operativ ta gjejë atë.
    • PYTHONHOME. Kjo variabël duhet të përmbajë vetëm shtegun drejt drejtorisë ku është instaluar Python. Kjo direktori duhet të përmbajë gjithashtu një nëndrejtori lib që do të kërkojë module standarde Python.
    • PYTONPATH. Variabla me një listë drejtorish që përmbajnë module shtesë që do të lidhen me Python (artikujt e listës duhet të ndahen nga një ndarës sistemi).
    • PYTHONSTARTUP. Një variabël opsionale që specifikon shtegun drejt skriptit Python që do të ekzekutohet sa herë që fillon një sesion interpretuesi interaktiv Python.

    Linja e komandës për të punuar me interpretuesin ka strukturën e mëposhtme.

    PYTHONHOME \ python (opsione) [-с komanda | skedari i skriptit | -] (argumente)

    Mënyra interaktive Python

    Nëse e nisni interpretuesin pa specifikuar një skedar komandimi ose skripti, ai do të fillojë në modalitetin interaktiv. Në këtë mënyrë, lëshohet një guaskë speciale Python, në të cilën mund të futen komanda ose shprehje individuale dhe vlera e tyre do të vlerësohet menjëherë. Kjo është shumë e përshtatshme kur mësoni Python, pasi mund të kontrolloni menjëherë korrektësinë e një ose një ndërtimi tjetër.

    Vlera e shprehjes së vlerësuar ruhet në një variabël të veçantë të quajtur Single Underscore (_) në mënyrë që të mund të përdoret në shprehjet pasuese. Mund të përfundoni një sesion interaktiv duke shtypur Ctrl – Z në Windows ose Ctrl – D në Linux.

    Opsionet janë vlera të vargut opsional që mund të ndryshojnë sjelljen e përkthyesit gjatë një sesioni; rëndësia e tyre do të diskutohet në këtë dhe në artikujt vijues. Opsionet ndiqen ose nga një komandë e vetme që duhet të ekzekutojë përkthyesi, ose nga shtegu i skedarit që përmban skriptin për të ekzekutuar. Vlen të përmendet se një komandë mund të përbëhet nga disa shprehje, të ndara me pikëpresje, dhe duhet të vendoset në thonjëza në mënyrë që sistemi operativ t'ia kalojë saktë interpretuesit. Argumentet - ato parametra që kalohen për përpunim të mëtejshëm në skriptin e ekzekutueshëm; ato kalohen në program si vargje dhe ndahen me hapësira.

    Për të verifikuar që Python është instaluar dhe funksionon siç duhet, mund të ekzekutoni komandat e mëposhtme:

    c: \> python- v
    c: \> python –c “koha e importit; koha e printimit.asctime () "

    Opsioni –v shfaq versionin e zbatimit të Python në përdorim dhe del, ndërsa komanda e dytë printon kohën e sistemit në ekran.

    Ju mund të shkruani skriptet Python në çdo redaktues teksti, pasi ato janë skedarë teksti të zakonshëm, por ka edhe mjedise të veçanta zhvillimi të krijuara për të punuar me Python.

    Bazat e sintaksës së Python

    Skriptet burimore të Python janë të përbëra nga të ashtuquajturat linjat logjike, secila prej të cilave përbëhet nga linjat fizike... Simboli # përdoret për të treguar komentet. Përkthyesi i shpërfill komentet dhe rreshtat boshe.

    Më poshtë është një aspekt shumë i rëndësishëm që mund të duket i çuditshëm për programuesit që mësojnë Python si një gjuhë të dytë programimi. Fakti është se në Python nuk ka asnjë simbol që do të ishte përgjegjës për ndarjen e shprehjeve nga njëra-tjetra në kodin burimor, si, për shembull, pikëpresje (;) në C ++ ose Java. Pikëpresja ju lejon të ndani deklarata të shumta nëse janë në të njëjtën linjë fizike. Gjithashtu, nuk ka asnjë konstrukt të tillë si mbajtëset kaçurrelë (), i cili ju lejon të kombinoni një grup udhëzimesh në një bllok të vetëm.

    Linjat fizike ndahen nga vetë karakteri i fundit, por nëse shprehja është shumë e gjatë për një rresht, atëherë dy linjat fizike mund të bashkohen në një linjë logjike. Për ta bërë këtë, duhet të futni një karakter të vijës së prapme (\) në fund të rreshtit të parë, dhe më pas rreshti tjetër do të interpretohet nga përkthyesi si vazhdim i së parës, por nuk mund të keni karaktere të tjera në rreshtin e parë pas karakteri \, për shembull, një koment me #. Vetëm dhëmbëzimi përdoret për të theksuar blloqet e kodit. Linjat logjike të barabarta formojnë një bllok dhe blloku përfundon kur shfaqet një vijë logjike më e vogël e prerë. Kjo është arsyeja pse rreshti i parë në një skript Python nuk duhet të jetë i prerë. Mësimi i këtyre rregullave të thjeshta do t'ju ndihmojë të shmangni shumicën e gabimeve që lidhen me mësimin e një gjuhe të re.

    Nuk ka dallime të tjera radikale nga gjuhët e tjera të programimit në sintaksën Python. Ekziston një grup standard i operatorëve dhe fjalëve kyçe, shumica e të cilave tashmë janë të njohura për programuesit, dhe ato specifike të Python do të trajtohen në këtë dhe në artikujt pasues. Përdoren gjithashtu rregullat standarde për përcaktimin e identifikuesve të variablave, metodave dhe klasave - emri duhet të fillojë me një nënvizim ose një karakter latin të çdo rasti dhe nuk mund të përmbajë simbolet @, $,%. Gjithashtu, vetëm një karakter nënvizues nuk mund të përdoret si identifikues (shih shënimin në lidhje me modalitetin ndërveprues).

    Llojet e të dhënave të përdorura në Python

    Llojet e të dhënave të përdorura në Python janë gjithashtu të njëjta si në gjuhët e tjera - llojet e të dhënave të plota dhe reale; Përveç kësaj, mbështetet një lloj kompleks i të dhënave - me një pjesë reale dhe një imagjinare (një shembull i një numri të tillë është 1.5J ose 2j, ku J është rrënja katrore e -1). Python mbështet vargjet që mund të mbyllen në thonjëza të vetme, të dyfishta ose të trefishta, dhe vargjet, si Java, janë objekte të pandryshueshme, d.m.th. nuk mund të ndryshojë vlerën e tyre pas krijimit.

    Ekziston gjithashtu një lloj i të dhënave boolean në Python me dy vlera - True dhe False. Sidoqoftë, versionet më të vjetra të Python nuk e kishin këtë lloj të dhënash, dhe për më tepër, çdo lloj i të dhënave mund të hidhej në vlerën Boolean True ose False. Të gjithë numrat jozero dhe vargjet jo bosh ose koleksionet e të dhënave u trajtuan si True, ndërsa vlerat boshe dhe zero u trajtuan si False. Kjo veçori është ruajtur në versionet e reja të Python, megjithatë, për të rritur lexueshmërinë e kodit, rekomandohet përdorimi i llojit bool për variablat boolean. Në të njëjtën kohë, nëse keni nevojë të ruani përputhshmërinë e prapambetur me implementimet e vjetra të Python, atëherë duhet të përdorni 1 (True) ose 0 (False) si booleans.

    Funksionaliteti për të punuar me grupet e të dhënave

    Python përcakton tre lloje të koleksioneve për ruajtjen e grupeve të të dhënave:

    • tuple;
    • lista (lista);
    • fjalor (fjalor).

    Një tuple është një sekuencë e pandryshueshme, e renditur e të dhënave. Mund të përmbajë elementë të llojeve të ndryshme, të tilla si tupa të tjerë. Një tup përcaktohet në kllapa dhe elementët e tij ndahen me presje. Funksioni special i integruar tuple () ju lejon të krijoni tuple nga një sekuencë e caktuar të dhënash.

    Një listë është një sekuencë e ndryshueshme, e renditur e artikujve. Artikujt e listës ndahen gjithashtu me presje, por specifikohen në kllapa katrore. Funksioni list () propozohet për të krijuar lista.

    Një fjalor është një tabelë hash që ruan një element së bashku me identifikuesin e tij kryesor. Qasja e mëvonshme në elemente kryhet gjithashtu me çelës, kështu që njësia e ruajtjes në fjalor është një çift objekt-çelës dhe objekt me vlerë të lidhur me të. Një fjalor është një koleksion i ndryshueshëm, por jo i renditur, kështu që rendi i elementeve në një fjalor mund të ndryshojë me kalimin e kohës. Një fjalor specifikohet në kllapa kaçurrelë, çelësi ndahet nga vlera me dy pika dhe vetë çiftet e çelësit/vlerës ndahen me presje. Funksioni dict () është i disponueshëm për të krijuar fjalorë.

    Lista 1 tregon shembuj të koleksioneve të ndryshme të disponueshme në Python.

    Listimi 1. Llojet e koleksioneve të disponueshme në Python
    ('w', 'o', 'r', 'l', 'd') # një tufë prej pesë elementësh (2.62,) # një dyfish me një element ["test", "unë"] # një listë me dy elemente # listë boshe (5: 'a', 6: 'b', 7: 'c') # Fjalor me 3 elementë me çelësa të tipit int

    Përcaktimi i funksioneve në Python

    Megjithëse Python mbështet OOP, shumë nga veçoritë e tij zbatohen si funksione të veçanta; Përveç kësaj, modulet e zgjerimit bëhen më shpesh në formën e një biblioteke funksionesh. Funksionet përdoren gjithashtu në klasa, ku tradicionalisht quhen metoda.

    Sintaksa për përcaktimin e funksioneve në Python është jashtëzakonisht e thjeshtë; duke marrë parasysh kërkesat e mësipërme:

    def FUNCTION_NAME (parametrat): shprehja # 1 shprehja # 2 ...

    Siç mund ta shihni, duhet të përdorni fjalën kyçe def, dy pika dhe dhëmbëzimin. Thirrja e një funksioni është gjithashtu shumë e thjeshtë:

    FUNCTION_NAME (parametrat)

    Ka vetëm disa pika specifike për Python për t'u marrë parasysh. Ashtu si në Java, vlerat primitive kalohen me vlerë (një kopje e parametrit i kalohet funksionit dhe nuk mund të ndryshojë vlerën e vendosur përpara se të thirrej funksioni), dhe llojet komplekse të objekteve kalohen me referencë (një referencë kalon në funksion dhe mund të ndryshojë objektin).

    Parametrat mund të kalohen ose thjesht në rendin e numërimit ose me emër, në këtë rast nuk është e nevojshme të tregohen kur thirren ato parametra për të cilët ka vlera të paracaktuara, por të kalohen vetëm ato të detyrueshme ose të ndryshohet renditja e parametrave kur thirret funksioni:

    # një funksion që kryen ndarjen e numrave të plotë duke përdorur operatorin // def foo (delimoe, delitel): kthe delimoe // ndarjen e printimit delitel (50,5) # rezultati i punës: 10 ndarje printimi (delitel = 5, delimoe = 50) # rezultati i punës: 10

    Një funksion Python duhet të kthejë një vlerë - ose në mënyrë eksplicite me një deklaratë kthimi të ndjekur nga një vlerë kthimi, ose, në mungesë të një deklarate kthyese, konstanta Asnjë kthehet kur arrihet fundi i funksionit. Siç mund ta shihni nga shembujt e deklaratave të funksioneve, në Python nuk ka nevojë të tregohet nëse diçka është kthyer nga një funksion apo jo, megjithatë, nëse funksioni ka një deklaratë kthimi që kthen një vlerë, atëherë deklarata të tjera kthimi në këtë funksion. duhet të kthejë vlerat, dhe nëse një vlerë e tillë jo, atëherë duhet të shkruani në mënyrë eksplicite kthimin Asnjë.

    Nëse funksioni është shumë i thjeshtë dhe përbëhet nga një rresht, atëherë ai mund të përcaktohet pikërisht në vendin e përdorimit, në Python një ndërtim i tillë quhet funksion lambda. Një funksion lambda është një funksion anonim (pa emrin e tij), trupi i të cilit është një deklaratë kthimi që kthen vlerën e disa shprehjeve. Kjo qasje mund të jetë e përshtatshme në disa situata, por duhet të theksohet se ripërdorimi i funksioneve të tilla është i pamundur ("ku linda, atje më erdhi mirë").

    Vlen gjithashtu të përshkruhet marrëdhënia e Python me rekursionin. Si parazgjedhje, thellësia e rekursionit është e kufizuar në 1000 nivele dhe kur të kalohet ky nivel, do të bëhet një përjashtim dhe programi do të ndalet. Megjithatë, nëse është e nevojshme, vlera e këtij kufiri mund të ndryshohet.

    Funksionet në Python kanë veçori të tjera interesante, të tilla si dokumentacioni ose aftësia për të përcaktuar funksionet e ndërlidhura, por këto do të eksplorohen në artikujt e ardhshëm të serisë me shembuj më kompleks.

    A ia vlen të mësosh gjuhën e programimit Python? Në fund të fundit, shpesh mund të dëgjoni se kjo gjuhë po vdes. Kjo pyetje u diskutua nga përdoruesit e faqes së internetit Quora dhe ndanë mendimet e tyre.

    Bill Karwn, Zhvillues, Konsulent, Trajner dhe Autor i SQL

    Gjuha e Asamblesë ju jep mundësinë e përsosur për të shkruar një kod kompakt, efikas dhe të optimizuar për projektin. Ju mund të bëni gjëra të mahnitshme në kodin e shkruar në këtë gjuhë, i cili është vetëm disa kilobajt në madhësi. Por niveli i efikasitetit që mund të arrihet duke përdorur gjuhën e asamblesë nuk justifikon punën shtesë, kohën shtesë dhe aftësitë që ajo kërkon.

    Është e vërtetë që gjuhët fitojnë popullaritet dhe humbasin atë. Produktiviteti është një sfidë e madhe në programim, kështu që herë pas here krijohen gjuhë të reja që rrisin produktivitetin për të paktën disa lloje pune.

    Shumica e programuesve sot përdorin gjuhë të nivelit më të lartë - ata duhet të jenë më produktivë. Gjuhët e nivelit të lartë mund të përpilohen në kodin e makinës (C ose C ++), ose mund të kompilohen në bytekod të pavarur nga arkitektura dhe të ekzekutohen në një makinë virtuale (Java) ose të përpunohen (JavaScript, PHP, Ruby, Python, Perl, etj.).

    Mendimi i gabuar se është e nevojshme të mësosh gjuhën e asamblesë, sepse "është më mirë se Python". Ky është një këndvështrim pa kuptim i bazuar në të dhëna të vjetruara.

    Bill Poucher, CEO i ICPC, softuer për energji, gjenetikë sintetike dhe më shumë.

    Mësoni Python. Jepini vetes përvojë programimi. Kjo gjuhë ka elegancën e saj.

    Mësoni C si një gjuhë për makinat Unix. Kuptimi i UNIX-it është relativisht i thjeshtë.

    Mësoni MIX për të kuptuar Knuth.

    Mësoni Java në mënyrë që të mos keni vështirësi të punoni me të tjerët, si dhe të zotëroni programimin e orientuar drejt objekteve.

    Mësoni C ++ që të mund të programoni në çdo stil që dëshironi. Fuqia e saj është se është gjuha kryesore e programimit. Dobësia e tij është se ju duhet të kuptoni stilin e tij në mënyrë që të programoni në të.

    Mësoni LISP për të forcuar kuptimin tuaj të rekursionit.

    A thashë që nuk duhet të mësosh të paktën diçka? Nr. Sepse e vetmja gjë që duhet bërë është të mësoni veten të mësoni vazhdimisht diçka, veçanërisht të mësoni se si të zgjidhni problemet që lindin.

    Shiva Shinde, Python është i lehtë për t'u koduar, por i vështirë për t'u lexuar

    Gjuha e programimit Python nuk po vdes, ajo është një nga gjuhët me rritjen më të shpejtë.

    1. Është e lehtë për të mësuar
    • Aktualisht, 8 nga 10 programet më të mira kompjuterike amerikane përdorin këtë gjuhë (Philip Guo, CACM)
    • Programet Python zakonisht kanë një minimum modelesh që gjenden zakonisht në gjuhë të tjera programimi. Prandaj, mund të përdorni më shpesh zgjidhje problematike jokonvencionale.
    • Nëse keni përvojë programimi, edhe nëse jo në këtë gjuhë, atëherë do ta zotëroni shpejt Python.

    2. Funksionalitet i plotë

    • Nuk është vetëm një gjuhë për statistika. Python ka të gjitha aftësitë për mbledhjen dhe pastrimin e të dhënave, për të punuar me bazat e të dhënave dhe llogaritje me performancë të lartë, dhe shumë më tepër.
    • Kjo është një gjuhë programimi e pranuar përgjithësisht me një numër të madh bibliotekash të integruara. Është i mirë për menaxhimin e të dhënave dhe bazës së të dhënave, si dhe programimin e rrjeteve. Është një gjuhë e menduar me një sasi të madhe burimesh në dispozicion.

    3. Bibliotekat serioze të të dhënave shkencore

    • Python ka biblioteka të rëndësishme shkencore me një sasi të madhe të dhënash për t'u përdorur.
    • Thelbi i këtyre bibliotekave shkencore është Ekosistemi SciPy, i cili madje pret konferencat e veta.
    • Pandat dhe Matplotlib janë të dy pjesë e SciPy. Ato ofrojnë të dhëna superiore për një gamë të gjerë temash si mësimi i makinerive, nxjerrja e tekstit dhe analiza e rrjetit.

    Hernan Soulages, programues pragmatik

    Kjo gjuhë është mjaft e njohur, rëndësia e saj po rritet në rrethet akademike. Është gjithashtu e vërtetë që dobia e një gjuhe programimi varet nga ajo që dëshironi të bëni në të.

    Nuk më pëlqen aspak PHP, por nuk jam aq budalla sa të mohoj shkathtësinë dhe fuqinë e tij, dhe se gjuha është mjaft e lehtë për t'u zotëruar.
    Sa i përket mësimit të asemblerit, kjo gjuhë varet drejtpërdrejt nga procesori me të cilin po punoni.

    Nëse dini të punoni me një të tillë, atëherë patjetër do të jeni në gjendje ta përdorni në një familje procesorësh për ca kohë. Por me kalimin e kohës ato pësojnë edhe disa ndryshime. Në këtë kuptim, është familja më pak e qëndrueshme e gjuhëve.

    Magnus Lyczka, zhvillues dhe konsulent softuerësh në Goteborg

    Shumë përdorues pëlqejnë Python. Për disa aplikacione, do të jetë shumë i ngadaltë dhe, për shembull, me gjuhën e asamblesë, ato do të funksionojnë më shpejt, por gjithashtu shpejt këto aplikacione do të funksionojnë në C, ndërsa kodi i shkruar në C do të funksionojë për të gjitha platformat.

    Shumë startup u bënë të suksesshëm me gjuhën Python, pas së cilës u duhej të rishkruanin disa programe në Java, C ++ ose C. Dhe nëse këto startup-e do të fillonin të punonin në gjuhën e asamblesë, me shumë mundësi do t'u kishin mbaruar fondet shumë kohë përpara se të fillonin shpejt. por kodi i vështirë për t'u lexuar do të ishte i plotë.

    Por kur punoni me gjuhën e asamblesë, duhet të merreni jo vetëm me arkitektura të ndryshme të procesorit, por edhe me detaje teknike që ndryshojnë në sisteme të ndryshme operative.

    Artikujt kryesorë të lidhur