Bazele limbajului Python. Elementele de bază ale sintaxei Python. Dificultate

Programul este un set de algoritmi care asigură efectuarea acțiunilor necesare. În mod convențional, o persoană obișnuită poate fi programată în același mod scriind comenzi precise, astfel încât, de exemplu, să pregătească ceaiul. Dacă ultima opțiune folosește vorbirea naturală (rusă, ucraineană, engleză, coreeană etc.), atunci computerul va avea nevoie de un limbaj de programare special. Python este unul dintre ele. Mediul de programare va traduce ulterior comenzile în și scopul uman pentru care a fost creat algoritmul va fi îndeplinit. Python are propria sa sintaxă, care va fi discutată mai jos.

Istoria limbii

Dezvoltarea a început în anii 1980 și s-a încheiat în 1991. Limbajul Python a fost creat de Guido van Rossum. Deși simbolul principal al lui Python este un șarpe, acesta a fost numit după spectacolul de comedie american.

La crearea limbajului, dezvoltatorul a folosit câteva comenzi împrumutate din Pascal, C și C++ existente. După ce prima versiune oficială a intrat online, un întreg grup de programatori s-au alăturat perfecționării și îmbunătățirii acesteia.

Unul dintre factorii care i-au permis lui Python să devină destul de faimos este designul său. El este recunoscut de mulți specialiști de mare succes drept unul dintre cei mai buni.

Caracteristicile Python

Limbajul de programare Python va fi un profesor excelent pentru începători. Are o sintaxă destul de simplă. Codul va fi ușor de înțeles, deoarece nu include multe elemente auxiliare, iar structura specială a limbajului vă va învăța cum să indentați. Desigur, un program bine conceput cu un număr mic de comenzi va fi imediat de înțeles.

Multe sisteme sintactice au fost create folosind programarea orientată pe obiecte. Python nu face excepție. De ce s-a născut mai exact? Va fi mai ușor de învățat pentru începători și îi va ajuta pe angajații deja calificați să-și amintească unele elemente.

Sintaxa limbajului

După cum am menționat deja, codul este destul de ușor și ușor de citit. Python are comenzi secvențiale care sunt precise în execuție. În principiu, operatorii folosiți nu vor părea dificili nici măcar începătorilor. Acesta este ceea ce face ca Python să fie diferit. Sintaxa sa este ușoară și simplă.

Operatori traditionali:

  • Când setați o condiție, ar trebui să utilizați constructul if-else. Dacă există prea multe astfel de linii, puteți introduce comanda elif.
  • Clasa este pentru înțelegerea clasei.
  • Unul dintre operatorii simpli este trecerea. Nu face nimic, se potrivește pentru blocuri goale.
  • Comenzile ciclice sunt while și for.
  • Funcția, metoda și generatorul sunt definite datorită def.

Pe lângă cuvintele individuale, limbajul de programare Python vă permite să utilizați expresii ca operatori. Folosind lanțuri de șiruri, puteți reduce numărul de comenzi și paranteze separate. Se folosesc și așa-numitele calcule leneșe, adică cele care se efectuează numai atunci când condiția o cere. Acestea includ și și sau.

Procesul de scriere a programului

Interpretul lucrează pe un singur mecanism: atunci când scrieți o linie (după care puneți „Enter”), aceasta este imediat executată și o persoană poate vedea deja un rezultat. Acest lucru va fi suficient de util și convenabil pentru începători sau cei care doresc să testeze o mică bucată de cod. În mediile compilate, mai întâi ar trebui să scrieți întregul program, abia apoi să îl rulați și să verificați dacă există erori.

Limbajul de programare Python (pentru începători, așa cum a devenit deja clar, este ideal) în sistemul de operare Linux vă permite să lucrați direct în consola însăși. Ar trebui să scrieți numele codului Python în limba engleză pe linia de comandă. Nu va fi dificil să creezi primul tău program. În primul rând, merită luat în considerare faptul că interpretul poate fi folosit aici ca calculator. Deoarece specialiștii tineri și începători nu sunt adesea confortabili cu sintaxa, puteți scrie algoritmul astfel:

După fiecare rând trebuie să puneți „Enter”. Răspunsul va fi afișat imediat după ce faceți clic pe el.

Date utilizate de Python

Datele pe care computerele (și limbajele de programare) le folosesc sunt de mai multe tipuri, iar acest lucru este destul de evident. Numerele pot fi fracționale, întregi, pot fi formate din mai multe cifre sau pot fi destul de masive datorită părții fracționale. Pentru a fi mai ușor pentru interpret să lucreze cu ei și pentru ca acesta să înțeleagă cu ce are de-a face, ar trebui specificat un anumit tip. Mai mult, este necesar ca numerele să se încadreze în celula de memorie alocată.

Cele mai frecvente tipuri de date utilizate de limbajul de programare Python sunt:

  • Întreg. Vorbim despre numere întregi care au atât valori negative, cât și pozitive. În acest tip este inclus și zero.
  • Pentru ca interpretul să înțeleagă că lucrează cu părți fracționale, tipul trebuie setat la virgulă mobilă. De regulă, este utilizat atunci când se utilizează numere cu un punct diferit. Trebuie amintit că atunci când scrieți un program, trebuie să rămâneți la notația „3.25” și să nu folosiți virgula „3.25”.
  • În cazul adăugării de șiruri, limbajul de programare Python vă permite să adăugați un tip de șir. Adesea, cuvintele sau expresiile sunt incluse într-un singur sau

Dezavantaje și avantaje

În ultimele decenii, oamenii au fost mai interesați să petreacă mai mult timp stăpânind datele și mai puțin timp pentru ca acestea să fie procesate de computere. Limbajul despre care există doar lucruri pozitive este cel mai înalt cod.

Python nu are practic niciun dezavantaj. Singurul dezavantaj serios este încetineala execuției algoritmului. Da, dacă îl compari cu „C” sau „Java”, este, sincer vorbind, o țestoasă. Acest lucru se explică prin faptul că aceasta

Dezvoltatorul s-a asigurat că adaugă cele mai bune lucruri în Python. Prin urmare, atunci când îl utilizați, puteți observa că a absorbit cele mai bune caracteristici ale altor limbaje de programare superioare.

În cazul în care ideea care este implementată de interpret nu este impresionantă, atunci va fi posibil să înțelegeți acest lucru aproape imediat, după ce ați scris câteva zeci de rânduri. Dacă programul merită, atunci secțiunea critică poate fi îmbunătățită în orice moment.

În prezent, mai mult de un grup de programatori lucrează la îmbunătățirea Python, așa că nu este un fapt că codul scris în C++ va fi mai bun decât cel creat folosind Python.

Cu ce ​​versiune este mai bine să lucrezi?

În zilele noastre, două versiuni ale unui astfel de sistem sintactic precum limbajul Python sunt utilizate pe scară largă. Pentru începători, alegerea dintre ele va fi destul de dificilă. Trebuie remarcat faptul că 3.x este încă în dezvoltare (deși este lansat în masă), în timp ce 2.x este o versiune complet finalizată. Mulți oameni sfătuiesc să folosească 2.7.8, deoarece practic nu întârzie sau se blochează. Nu există modificări radicale în versiunea 3.x, așa că vă puteți transfera codul în mediul de programare cu o actualizare în orice moment. Pentru a descărca programul necesar, ar trebui să accesați site-ul oficial, să selectați sistemul de operare și să așteptați până când descărcarea se termină.

Programare Python

Partea 1. Capacități lingvistice și sintaxa de bază

Seria de conținut:

Merită să înveți Python?

Python este unul dintre cele mai populare limbaje de programare moderne. Este potrivit pentru rezolvarea unei varietăți de probleme și oferă aceleași capacități ca și alte limbaje de programare: dinamism, suport OOP și cross-platform. Dezvoltarea Python a început de Guido Van Rossum la mijlocul anilor 1990, așa că până acum a fost posibil să scăpăm de bolile standard din „copilărie”, să dezvoltăm în mod semnificativ cele mai bune aspecte ale limbajului și să atragem mulți programatori care folosesc Python pentru a-și implementa proiecte.

Mulți programatori cred că este necesar să învețe doar limbaje de programare „clasice”, cum ar fi Java sau C++, deoarece alte limbaje nu vor putea oferi oricum aceleași capacități. Cu toate acestea, recent a apărut convingerea că este indicat ca un programator să cunoască mai mult de o limbă, deoarece acest lucru îi lărgește orizonturile, permițându-i să rezolve mai creativ problemele și sporindu-și competitivitatea pe piața muncii.

Învățarea perfectă a două limbi precum Java și C++ este destul de dificilă și ar dura mult timp; în plus, multe aspecte ale acestor limbi se contrazic. În același timp, Python este ideal pentru rolul unei a doua limbi, deoarece este absorbit imediat datorită cunoștințelor deja existente despre OOP și faptului că capacitățile sale nu intră în conflict, ci completează experiența dobândită din lucrul cu o altă programare. limba.

Dacă un programator este abia la început în domeniul dezvoltării software, atunci Python va fi un limbaj de programare „introductiv” ideal. Datorită conciziei sale, vă va permite să stăpâniți rapid sintaxa limbii, iar absența „moștenirii” sub formă de axiome formate de-a lungul multor ani vă va ajuta să stăpâniți rapid OOP. Datorită acestor factori, curba de învățare pentru Python va fi destul de scurtă, iar programatorul va putea trece de la exemple educaționale la proiecte comerciale.

Prin urmare, indiferent cine este cititorul acestui articol - un programator cu experiență sau un începător în domeniul dezvoltării software, răspunsul la întrebarea, care este titlul acestei secțiuni, ar trebui să fie un „da”.

Această serie de articole este concepută pentru a vă ajuta să depășiți cu succes curba de învățare, oferind informații de la cele mai de bază principii ale limbii până la capabilitățile sale avansate de integrare cu alte tehnologii. Primul articol va acoperi caracteristicile de bază și sintaxa Python. În cele ce urmează, vom analiza aspecte mai avansate ale lucrului cu acest limbaj popular, în special programarea orientată pe obiecte în Python.

Arhitectura Python

Orice limbaj, fie pentru programare, fie pentru comunicare, constă din cel puțin două părți - vocabular și sintaxă. Limbajul Python este organizat exact în același mod, oferind o sintaxă pentru formarea expresiilor care formează programe executabile și un vocabular - un set de funcționalități sub forma unei biblioteci standard și plug-in-uri.

După cum am menționat, sintaxa lui Python este destul de concisă, mai ales în comparație cu Java sau C++. Pe de o parte, acest lucru este bun, deoarece cu cât sintaxa este mai simplă, cu atât este mai ușor de învățat și cu atât poți face mai puține greșeli în timp ce o folosești. Cu toate acestea, astfel de limbi au un dezavantaj - pot fi folosite pentru a transmite cele mai simple informații și nu pot exprima structuri complexe.

Acest lucru nu se aplică pentru Python, deoarece este un limbaj simplu, dar simplificat. Cert este că Python este un limbaj cu un nivel de abstractizare mai mare, mai mare, de exemplu, decât Java și C++, și vă permite să transmiteți aceeași cantitate de informații într-o cantitate mai mică de cod sursă.

Python este, de asemenea, un limbaj de uz general, deci poate fi folosit în aproape orice domeniu de dezvoltare software (autonom, client-server, aplicații web) și în orice domeniu. În plus, Python se integrează ușor cu componentele existente, permițându-vă să încorporați Python în aplicațiile pe care le-ați scris deja.

O altă componentă a succesului Python este modulele sale de extensie, atât standard, cât și specifice. Modulele standard de extensie Python sunt funcționalități bine concepute și testate în timp pentru a rezolva problemele care apar în fiecare proiect de dezvoltare software, procesare șiruri și text, interacțiune cu sistemul de operare și suport pentru aplicații Web. Aceste module sunt, de asemenea, scrise în Python, deci au cea mai importantă proprietate - cross-platform, permițându-vă să transferați fără durere și rapid proiecte de la un sistem de operare la altul.

Dacă funcționalitatea necesară nu se află în biblioteca standard Python, vă puteți crea propriul modul de extensie pentru o utilizare repetată ulterioară. Este demn de remarcat aici că modulele de extensie pentru Python pot fi create nu numai în limbajul Python în sine, ci și folosind alte limbaje de programare. În acest caz, este posibilă implementarea mai eficientă a sarcinilor care consumă mult resurse, cum ar fi calcule științifice complexe, dar avantajul multiplatformelor este pierdut dacă limbajul modulului de extensie nu este el însuși multiplatform, precum Python.

Timpul de rulare Python

După cum știți, toate limbajele de programare multiplatformă sunt construite pe același model: este un cod sursă cu adevărat portabil și un mediu de rulare, care nu este portabil și specific fiecărei platforme specifice. Acest mediu de execuție include de obicei un interpret care execută codul sursă și diverse utilități necesare întreținerii aplicației - un depanator, asamblator invers etc.

Mediul de rulare Java include, de asemenea, un compilator, deoarece codul sursă trebuie compilat în bytecode pentru mașina virtuală Java. Runtime-ul Python include doar un interpret, care este, de asemenea, un compilator, dar compilează codul sursă Python direct în codul mașinii de pe platforma țintă.

În prezent, există trei implementări de rulare cunoscute pentru Python: CPython, Jython și Python.NET. După cum sugerează și numele, primul cadru este implementat în C, al doilea în Java și ultimul în platforma .NET.

Runtime-ul CPython este de obicei numit pur și simplu Python, iar când oamenii vorbesc despre Python, se referă cel mai adesea la această implementare. Această implementare constă dintr-un interpret și module de extensie scrise în C și poate fi utilizată pe orice platformă pentru care este disponibil un compilator C standard. În plus, există versiuni pre-compilate ale runtime-ului pentru diferite sisteme de operare, inclusiv diferite versiuni de Windows OS și diverse distribuții Linux. În acest articol și în articolele ulterioare, CPython va fi luat în considerare, dacă nu se specifică altfel separat.

Runtime-ul Jython este o implementare Python pentru rularea mașinii virtuale Java (JVM). Este acceptată orice versiune JVM, începând cu versiunea 1.2.2 (versiunea Java actuală este 1.6). Lucrul cu Jython necesită o mașină Java instalată (mediu de rulare Java) și anumite cunoștințe ale limbajului de programare Java. Nu este necesar să știți să scrieți codul sursă în Java, dar va trebui să vă ocupați de fișiere JAR și applet-uri Java, precum și de documentație în format JavaDOC.

Ce versiune de mediu să alegeți depinde numai de preferințele programatorului, în general, se recomandă să păstrați atât CPython, cât și Jython pe computer, deoarece nu intră în conflict unul cu celălalt, ci se completează reciproc. Mediul CPython este mai rapid deoarece nu există un strat intermediar sub forma unui JVM; În plus, versiunile actualizate de Python sunt lansate mai întâi ca mediu CPython. Cu toate acestea, Jython poate folosi orice clasă Java ca modul de extensie și poate rula pe orice platformă pentru care există o implementare JVM.

Ambele medii de execuție sunt lansate sub o licență compatibilă cu binecunoscuta licență GPL, astfel încât pot fi utilizate atât pentru dezvoltarea de software comercial, cât și pentru cel gratuit. Majoritatea extensiilor Python sunt, de asemenea, licențiate GPL și pot fi folosite liber în orice proiect, dar există și extensii comerciale sau extensii cu licențe mai stricte. Prin urmare, atunci când utilizați Python într-un proiect comercial, trebuie să știți ce restricții există în licențele plug-in-urilor de extensie.

Începeți cu Python

Înainte de a începe să utilizați Python, trebuie să instalați mediul său de execuție - în acest articol acesta este CPython și, în consecință, interpretul Python. Există diverse metode de instalare: utilizatorii experimentați pot compila ei înșiși Python din codul sursă disponibil public, pot descărca și fișiere executabile gata făcute pentru un anumit sistem de operare de pe site-ul web www.python.org și, în sfârșit, vin multe distribuții Linux. cu un interpret Python preinstalat. Acest articol folosește versiunea Windows a lui Python 2.x, dar exemplele prezentate pot fi executate pe orice versiune de Python.

După ce instalatorul a implementat executabilele Python în directorul specificat, trebuie să verificați valorile următoarelor variabile de sistem:

  • CALE. Această variabilă trebuie să conțină calea către directorul în care este instalat Python, astfel încât sistemul de operare să o poată găsi.
  • PYTHONHOME. Această variabilă ar trebui să conțină numai calea către directorul în care este instalat Python. Acest director ar trebui să conțină și un subdirector lib care va fi căutat pentru module standard Python.
  • PYTHONPATH. O variabilă cu o listă de directoare care conțin module de extensie care vor fi conectate la Python (elementele listei trebuie separate printr-un delimitator de sistem).
  • PYTHONSTARTUP. O variabilă opțională care specifică calea către scriptul Python care ar trebui să fie executată de fiecare dată când este pornită o sesiune de interpret Python interactiv.

Linia de comandă pentru lucrul cu interpretul are următoarea structură.

PYTHONHOME\python (opțiuni) [ -c comandă | fișier script | - ] (argumente)

Modul interactiv Python

Dacă porniți interpretul fără a specifica o comandă sau un fișier script, acesta va porni în modul interactiv. În acest mod, este lansat un shell special Python în care pot fi introduse comenzi sau expresii individuale, iar valoarea lor va fi calculată imediat. Acest lucru este foarte convenabil când învățați Python, deoarece puteți verifica imediat corectitudinea unei anumite construcții.

Valoarea expresiei evaluate este stocată într-o variabilă specială numită Single Underscore (_), astfel încât să poată fi utilizată în expresiile ulterioare. Puteți încheia o sesiune interactivă folosind comanda rapidă de la tastatură Ctrl–Z pe Windows sau Ctrl–D pe Linux.

Opțiunile sunt valori opționale de șir care pot schimba comportamentul interpretului în timpul unei sesiuni; semnificația lor va fi discutată în acest articol și în articolele ulterioare. Opțiunile specifică fie o comandă specifică care urmează să fie executată de interpret, fie calea către un fișier care conține scriptul care urmează să fie executat. Este de remarcat faptul că o comandă poate consta din mai multe expresii, separate prin punct și virgulă, și trebuie să fie cuprinsă între ghilimele pentru ca sistemul de operare să o poată transmite corect interpretului. Argumentele sunt acei parametri care sunt trecuți pentru procesarea ulterioară scriptului executabil; sunt transmise programului ca șiruri de caractere și separate prin spații.

Pentru a verifica dacă Python este instalat corect și funcționează corect, puteți rula următoarele comenzi:

c:\>python-v
c:\> python –c „timpul de import; print time.asctime()”

Opțiunea -v tipărește versiunea implementării Python utilizată și iese, în timp ce a doua comandă tipărește pe ecran valoarea timpului de sistem.

Puteți scrie scripturi Python în orice editor de text, deoarece sunt fișiere text obișnuite, dar există și medii speciale de dezvoltare concepute pentru a funcționa cu Python.

Noțiuni de bază despre sintaxa Python

Scripturile de cod sursă Python constau din așa-numitele șiruri logice, dintre care fiecare constă la rândul său din linii fizice. Simbolul # este folosit pentru a indica comentarii. Interpretul ignoră comentariile și rândurile goale.

Următorul este un aspect foarte important care poate părea ciudat pentru programatorii care învață Python ca al doilea limbaj de programare. Cert este că în Python nu există niciun simbol care să fie responsabil pentru separarea expresiilor una de cealaltă în codul sursă, cum ar fi punctul și virgulă (;) în C++ sau Java. Un punct și virgulă vă permite să separați mai multe instrucțiuni dacă acestea sunt pe aceeași linie fizică. De asemenea, nu există nicio construcție, cum ar fi acolade (), care vă permite să combinați un grup de instrucțiuni într-un singur bloc.

Liniile fizice sunt separate prin caracterul de sfârșit de linie în sine, dar dacă expresia este prea lungă pentru o linie, atunci cele două linii fizice pot fi combinate într-o singură linie logică. Pentru a face acest lucru, trebuie să introduceți un caracter bară oblică inversă (\) la sfârșitul primei linii, iar apoi interpretul va interpreta următoarea linie ca o continuare a primei, cu toate acestea, este imposibil să existe alte caractere pe prima linie după caracterul \, de exemplu, un comentariu cu #. Numai indentarea este folosită pentru a evidenția blocurile de cod. Liniile logice cu aceeași dimensiune a indentării formează un bloc, iar blocul se termină când apare o linie logică cu o dimensiune mai mică a indentației. Acesta este motivul pentru care prima linie a unui script Python nu ar trebui să fie indentată. Stăpânirea acestor reguli simple te va ajuta să eviți majoritatea greșelilor asociate cu învățarea unei noi limbi.

Nu există alte diferențe radicale în sintaxa Python față de alte limbaje de programare. Există un set standard de operatori și cuvinte cheie, dintre care majoritatea sunt deja familiare programatorilor, în timp ce cele specifice Python vor fi tratate în acest articol și în articolele următoare. Regulile standard sunt, de asemenea, utilizate pentru specificarea identificatorilor de variabile, metode și clase - numele trebuie să înceapă cu o liniuță de subliniere sau un caracter latin de orice caz și nu poate conține caracterele @, $, %. De asemenea, un singur caracter de subliniere nu poate fi folosit ca identificator (vezi nota de subsol care vorbește despre modul interactiv de operare).

Tipuri de date utilizate în Python

Tipurile de date utilizate în Python sunt, de asemenea, aceleași cu alte limbi - tipuri de date întregi și reale; În plus, este acceptat un tip de date complex - cu o parte reală și imaginară (un exemplu de astfel de număr este 1,5J sau 2j, unde J este rădăcina pătrată a lui -1). Python acceptă șiruri care pot fi incluse între ghilimele simple, duble sau triple, iar șirurile, precum Java, sunt obiecte imuabile, de exemplu. nu își pot schimba valoarea după creare.

Python are, de asemenea, un tip de date logic bool cu ​​două opțiuni de valoare – True și False. Cu toate acestea, în versiunile mai vechi de Python nu exista un astfel de tip de date și, în plus, orice tip de date putea fi turnat la valoarea booleană True sau False. Toate numerele diferite de zero și șirurile de caractere nevide sau colecțiile de date au fost tratate ca adevărate, iar valorile goale și zero au fost tratate ca false. Această caracteristică a fost păstrată în noile versiuni de Python, cu toate acestea, pentru a crește lizibilitatea codului, se recomandă utilizarea tipului bool pentru variabilele booleene. În același timp, dacă trebuie să mențineți compatibilitatea cu versiunile vechi cu implementările Python mai vechi, atunci ar trebui să utilizați 1 (adevărat) sau 0 (fals) ca variabile booleene.

Funcționalitate pentru lucrul cu seturi de date

Python definește trei tipuri de colecții pentru stocarea seturilor de date:

  • tuplu (tuplu);
  • lista(lista);
  • dicţionar.

Un tuplu este o secvență ordonată imuabilă de date. Poate conține elemente de diferite tipuri, cum ar fi alte tupluri. Un tuplu este definit în paranteze, iar elementele sale sunt separate prin virgule. O funcție specială încorporată, tuple(), vă permite să creați tupluri dintr-o anumită secvență de date.

O listă este o secvență de elemente mutabilă, ordonată. Elementele listei sunt, de asemenea, separate prin virgule, dar sunt specificate între paranteze drepte. Pentru a crea liste, este propusă funcția list().

Un dicționar este un tabel hash care stochează un element împreună cu cheia sa de identificare. Accesul ulterior la elemente se realizează și prin cheie, deci unitatea de stocare dintr-un dicționar este o pereche obiect-cheie și un obiect valoare asociat. Un dicționar este o colecție mutabilă, dar neordonată, astfel încât ordinea elementelor din dicționar se poate schimba în timp. Dicționarul este specificat între acolade, cheia este separată de valoare prin două puncte, iar perechile cheie/valoare sunt separate prin virgule. Funcția dict() este disponibilă pentru crearea dicționarelor.

Lista 1 prezintă exemple ale diferitelor colecții disponibile în Python.

Listarea 1. Tipuri de colecții disponibile în Python
('w','o','r','l','d') # tuplu de cinci elemente (2.62,) # tuplu de un element [„test”, „me”] # listă de două elemente # listă goală ( 5:'a', 6:'b', 7:'c' ) # dicționar de trei elemente cu chei de tip int

Definirea funcțiilor în Python

Deși Python acceptă OOP, multe dintre caracteristicile sale sunt implementate ca funcții separate; În plus, modulele de extensie sunt cel mai adesea realizate sub forma unei biblioteci de funcții. Funcțiile sunt folosite și în clase, unde sunt denumite în mod tradițional metode.

Sintaxa pentru definirea funcțiilor în Python este extrem de simplă; ținând cont de cerințele de mai sus:

def FUNCTION_NAME(parametri): expresia nr. 1 expresia nr. 2 ...

După cum puteți vedea, este necesar să folosiți cuvântul funcție def, două puncte și indentare. Apelarea unei funcții este, de asemenea, foarte simplă:

FUNCTION_NAME(parametri)

Există doar câteva lucruri specifice Python de luat în considerare. Ca și în Java, valorile primitive sunt transmise după valoare (o copie a parametrului este transmisă funcției și nu poate schimba valoarea setată înainte de apelarea funcției), iar tipurile de obiecte complexe sunt transmise prin referință (o referință este a trecut la funcție și poate schimba obiectul).

Parametrii pot fi trecuți fie prin ordinea de listare, fie după nume, în acest caz, nu trebuie să specificați atunci când apelați acei parametri pentru care există valori implicite, ci treceți doar pe cei necesari sau modificați ordinea parametrilor la apelarea unei funcții; :

#funcție care efectuează împărțirea întregului - folosind operatorul // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # rezultatul muncii: 10 print divide(delitel=5, delimoe=50) # rezultatul funcționează: 10

O funcție din Python trebuie să returneze o valoare - acest lucru se face fie în mod explicit cu o instrucțiune return urmată de valoarea returnată, fie, în absența unei instrucțiuni return, constanta None este returnată când se ajunge la sfârșitul funcției. După cum puteți vedea din exemplele de declarații ale funcției, în Python nu este nevoie să specificați dacă ceva este returnat de la o funcție sau nu, dar dacă o funcție are o instrucțiune return care returnează o valoare, atunci alte instrucțiuni return din acea funcție trebuie să returneze valori, iar dacă o astfel de valoare nu, atunci trebuie să specificați în mod explicit return None.

Dacă funcția este foarte simplă și constă dintr-o linie, atunci poate fi definită chiar în punctul de utilizare în Python, o astfel de construcție se numește funcție lambda. O funcție lambda este o funcție anonimă (fără nume propriu), al cărei corp este o instrucțiune return care returnează valoarea unei expresii. Această abordare poate fi convenabilă în unele situații, dar merită remarcat faptul că reutilizarea unor astfel de funcții este imposibilă („unde s-a născut, a venit la îndemână”).

De asemenea, merită să descriem atitudinea lui Python față de utilizarea recursiunii. În mod implicit, adâncimea recursiunii este limitată la 1000 de niveluri, iar când acest nivel este trecut, o excepție va fi ridicată și programul se va opri. Cu toate acestea, dacă este necesar, valoarea acestei limite poate fi modificată.

Funcțiile din Python au alte caracteristici interesante, cum ar fi documentația și capacitatea de a defini funcții imbricate, dar acestea vor fi explorate în articolele ulterioare din serie cu exemple mai complexe.

Sintaxa limbajului Piton este în multe privințe similară cu sintaxa limbilor precum Perl, C și Java, dar în același timp are o serie de diferențe față de aceste limbaje de programare. În acest articol ne vom uita la necesar elementele de bază acest limbaj de programare.

Primul program Python:

În primul rând, trebuie remarcat faptul că Piton se poate programa in doua moduri: interactivȘi scenaristă

Modul de programare interactiv:

Fără a trece numele fișierului ca argument, acesta va rula Interpret Python:

Introduceți următorul text după linia promptă Pitonși apăsați Enter:

>>> printează „Bună ziua, Python!”

Dacă ați făcut totul corect, interpretul va produce linia:

Dacă primiți o eroare, asigurați-vă că ați rescris codul corect și că utilizați versiunea 2.x a interpretului (pentru versiunea 3.x ar trebui să utilizați comanda print ("Bună ziua, Python"))

Modul de programare script:

Rulează pe linia de comandă python cu numele fișierului (numit și script) ca parametru, va începe executarea codului scris în acest fișier. După ce scriptul este finalizat, interpretul va fi din nou inactiv.

Să creăm un program simplu de script folosind Piton. Deschideți orice editor de text (Sublime, Notepad++, gedit...), creați în el un fișier cu numele test și extensia .py (toate fișierele care conțin cod în Piton trebuie să aibă o extensie .py) și scrieți codul deja familiar pentru noi în acest fișier și salvați fișierul:

Tipăriți „Bună ziua, Python!”

(Se presupune că Interpret Pythonîl aveți setat în variabila PATH, adică fiind în orice director puteți introduce python pentru a lansa interpretul)

După aceea, tastați următoarea linie în promptul de comandă și apăsați Enter:

Identificatori în Python:

Identificatori în Python acestea sunt nume folosite pentru a desemna o variabilă, o funcție, o clasă, un modul sau un alt obiect. Identificatorul trebuie să înceapă cu o literă (de la a la Z) sau o liniuță de subliniere (_), urmată de orice număr de litere, caractere de subliniere și numere (de la 0 la 9).

ÎN Piton Nu este acceptabilă utilizarea semnelor de punctuație sau a caracterelor speciale precum @, $ sau % ca identificatori. In afara de asta, Piton este sensibil la majuscule, adică pisicăȘi Pisică acestea sunt două nume diferite.

Python are următoarea convenție pentru denumirea identificatorilor:

  • Numele claselor încep cu o literă mare, toți ceilalți identificatori încep cu o literă mică.
  • Utilizarea unui caracter de subliniere ca prim caracter al unui identificator înseamnă că identificatorul este privat (nu este permis să fie utilizat în afara clasei).
  • Dacă un identificator începe și se termină cu două caractere de subliniere (de exemplu, __init__), aceasta înseamnă că este un nume special definit în limbaj.

Cuvinte rezervate (cuvinte cheie) în Python:

Acest tabel conține toate Cuvinte cheie Python.

și elif dacă imprimare
la fel de altfel import a ridica
afirma cu exceptia în întoarcere
pauză exec este încerca
clasă in cele din urma lambda in timp ce
continua pentru nu care
def din sau Randament
del global trece

Aceste cuvinte rezervate nu pot fi folosite ca nume de variabilă sau orice alt identificator. Toate Cuvinte cheie Python constau numai din litere mici. Puteți obține o listă de cuvinte cheie în interpret folosind comanda

Ajutor(„cuvinte cheie”)

Rânduri și indentări:

Una dintre primele caracteristici Piton Un lucru care iese în evidență pentru programatorii care încep să învețe acest limbaj de programare este că nu folosește paranteze pentru a desemna blocuri individuale de cod. În loc de ei în Piton se folosesc două puncte și indentări.

Numărul de spații din indentări este arbitrar și ales de fiecare la propria discreție, dar prin acord este egal cu patru spații. În acest caz, indentarea întregului bloc trebuie să fie aceeași.

De exemplu, acest bloc de cod va funcționa (deși nu ar trebui să-l scrieți astfel):

Dacă este adevărat: imprimați „Bună” altfel: imprimați „Pa”

Și acesta va provoca o eroare:

Dacă este adevărat: imprimați „Bună” imprimați „Pa”

Astfel, în Piton Mai multe linii de cod cu aceeași indentare vor forma un bloc separat de cod. Datorită unui astfel de sistem, lizibilitatea codului este semnificativ crescută și este insuflat obiceiul de a scrie într-o manieră clară și structurată.

Expresii cu mai multe linii:

Expresii în Python, de regulă, se încheie cu o nouă linie. Cu toate acestea, în acest limbaj de programare există un caracter special de întrerupere de linie (\), care indică faptul că sfârșitul liniei nu încheie codul. De exemplu:

Total = item1 + \item2 + \item3

Expresiile care se află în paranteze: pătrat (), ondulat (( )) sau paranteze (()) nu necesită o întrerupere de linie. De exemplu:

Zile = [„Duminică”, „Luni”, „Marți”, „Miercuri”, „Joi”, „Vineri”, „Sâmbătă”]

Citate în Python:

ÎN Piton Puteți utiliza ghilimele simple ("), duble (") și triple (""" sau "") pentru a indica un tip de date șir, iar șirul trebuie să înceapă și să se termine cu aceleași ghilimele. O linie care se întinde pe mai multe rânduri de cod trebuie să fie înconjurată de ghilimele triple. De exemplu:

Nume = "wasd" descriere = "Un text" biografie = """ Un text lung pentru câteva rânduri de cod """

Acest material este destinat celor care sunt deja familiarizați cu programarea și doresc să stăpânească limbajul de programare Python. Este conceput pentru a vă arăta în 10 minute caracteristicile limbajului Python, caracteristicile de sintaxă și principiile de bază ale lucrului cu Python folosind exemple. Nu există „apă” aici - informații care nu sunt direct legate de limbajul de programare. Sa incepem!

Limbajul de programare Python se distinge prin tastarea puternică (Tastarea puternică se distinge prin faptul că limbajul nu permite amestecarea diferitelor tipuri în expresii și nu realizează conversii implicite automate, de exemplu, nu se poate scădea un set dintr-un șir), dinamic se folosește tastarea - toate tipurile sunt descoperite în timpul execuției programului.

Declararea variabilelor este opțională, numele sunt sensibile la majuscule și minuscule (var și VAR sunt două variabile diferite).

Python este un limbaj orientat pe obiecte; totul în limbaj este un obiect.

Obține ajutor

Ajutorul (ajutorul) în Python este întotdeauna disponibil chiar în interpret. Dacă vrei să știi cum funcționează un obiect, apelează ajutor( ). O altă instrucțiune utilă este dir(), care arată toate metodele unui obiect și proprietățile obiectelor .__doc__ care vă va arăta șirul documentar:

>>> help(5) Help on int object: (etc etc) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(number) -> number Returnează valoarea absolută a argumentului."

Sintaxa Python

Python nu are constructe pentru blocurile de sfârșit (cum ar fi declarațiile de clasă sau funcție, de exemplu) - blocurile sunt definite folosind indentarea. Măriți indentarea la începutul blocului, micșorați-o la sfârșitul blocului. Declarațiile care necesită indentare se termină cu două puncte (:). Dacă nu aveți încă cod după instrucțiunea de început de bloc, introduceți o instrucțiune de trecere pentru a trece verificarea sintaxei.

În timp ce rangelist == 1: trece

Comentariile pe o singură linie încep cu un caracter hash (#), în timp ce comentariile pe mai multe rânduri folosesc ("") la începutul și la sfârșitul comentariului.

Valorile sunt atribuite folosind semnul egal (“=”) (obiectele sunt de fapt denumite în proces).

Testul de diferență se efectuează cu două simboluri egale ("==").

Puteți crește o valoare folosind operatorul += și o puteți micșora cu -= specificând o variabilă în partea stângă și valoarea cu care se va produce creșterea/decrementarea în dreapta. Acest lucru funcționează cu multe tipuri de date în Python, inclusiv cu șiruri de caractere.

Puteți atribui o valoare mai multor variabile pe aceeași linie. Exemple:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """Acesta este un comentariu pe mai multe linii. Următoarele rânduri concatenează cele două șiruri.""" >>> mystring = "Bună ziua" >>> mystring += " lume." >>> print mystring Bună lume. # Aceasta schimbă variabilele într-o singură linie(!). # Nu încalcă tastarea puternică, deoarece valorile nu sunt # de fapt atribuite, dar obiectele noi sunt legate de # nume vechi. >>> myvar, mystring = mystring, myvar

Tipuri de date în Python

Python oferă tipuri de date, cum ar fi liste, tupluri și dicționare. Seturile sunt, de asemenea, disponibile, folosind modulul seturi în versiunile anterioare Python 2.5 și încorporate în limbaj în versiunile ulterioare.

Listele sunt similare cu tablourile unidimensionale. Este posibil să aveți o listă formată din alte liste.

Dicționarele sunt tablouri asociative în care datele sunt accesate prin cheie.

Tuplurile sunt matrice unidimensionale imuabile.

„Matrice” în Python poate fi de orice tip, ceea ce înseamnă că puteți combina numere, șiruri și alte tipuri de date în liste/dicționare/tupluri.

Indicele primului element este 0. O valoare a indexului negativ începe să conteze de la ultimul până la primul, [-1] va indica ultimul element.

Variabilele pot indica funcții.

>>> sample = , ("a", "tuple")] >>> mylist = ["List item 1", 2, 3.14] >>> mylist = "List item 1 din nou" # Vom schimba elementul . >>> mylist[-1] = 3.21 # Aici ne referim la ultimul element >>> mydict = ("Key 1": "Valoare 1", 2: 3, "pi": 3.14) >>>. mydict["pi"] = 3.15 # Așa schimbi valorile din dicționar >>> mytuple = (1, 2, 3) >>> myfunction = len >>> print myfunction(mylist) 3.

Puteți obține o porțiune dintr-o matrice (listă sau tuplu) folosind două puncte (:). Lăsând golă valoarea indexului de început va indica începerea de la prima valoare; Indicii negativi sunt numărați înapoi de la sfârșitul matricei (-1 va indica ultimul element).

Uită-te la exemple:

>>> mylist = ["List item 1", 2, 3.14] >>> print mylist[:] ["List item 1", 2, 3.1400000000000001] >>> print mylist ["List item 1", 2] > >> print mylist[-3:-1] ["List item 1", 2] >>> print mylist # Adăugând un al treilea parametru, „step” va avea pasul Python în # N trepte de articole, mai degrabă decât 1. # De ex. , aceasta va returna primul articol, apoi va merge la al treilea și # va returna acel element (deci, articolele 0 și 2 din indexarea 0). >>> print mylist[::2] ["Elementul din listă 1", 3.14]

Șiruri în Python

Un apostrof (‘) sau ghilimele duble (ghilimele duble - „) pot fi folosite pentru a desemna un șir. Acest lucru vă permite să aveți ghilimele într-un șir indicat prin apostrofe (de exemplu, „El a spus „bună ziua.”” este un șir valid).

Șirurile cu mai multe linii sunt notate prin utilizarea unui apostrof triplu sau a ghilimelelor (""). Python acceptă unicode din cutie. Cu toate acestea, a doua versiune de Python folosește caracterul (u) pentru a desemna un șir care conține unicode: u"Acesta este un șir unicode." Python3 toate șirurile conțin Unicode. Dacă în Python3 aveți nevoie de o secvență de octeți, care era în esență un șir în versiunile anterioare, se folosește simbolul (b): b"Acesta este un șir de octeți".

Pentru a înlocui valorile parametrilor într-un șir, utilizați operatorul (%) și un tuplu. Fiecare %s este înlocuit cu un element din tuplu, de la stânga la dreapta. De asemenea, puteți utiliza un dicționar pentru a înlocui parametrii denumiți:

>>>printează „Nume: %s\ Număr: %s\ String: %s” % (myclass.name, 3, 3 * "-") Nume: Poromenos Număr: 3 String: --- stringString = """ Acesta este un șir cu mai multe linii.""" # AVERTISMENT: Atenție la s-urile finale din „%(key)s”. >>> print "Acest %(verb) este un %(substantiv)s." % ("substantiv": "test", "verb": "este") Acesta este un test.

Instrucțiuni de control al fluxului - dacă, pentru, timp

Instrucțiunile If, ​​for și while sunt folosite pentru a controla ordinea în care este executat un program. Nu există niciun comutator sau caz în Python, dacă este folosit în schimb. For este folosit pentru a itera elementele unei liste (sau tuplu). Pentru a obține o succesiune de numere, utilizați range( ). Pentru a întrerupe execuția unei bucle, se utilizează break.

Sintaxa pentru acest construct este următoarea:

Rangelist = range(10) >>> print rangelist pentru numărul din rangelist: # Verificați dacă numărul este unul dintre # numerele din tuplu. dacă numărul din (3, 4, 7, 9): # „Break” termină un pentru fără # să execute clauza „else”. break else: # „Continuare” începe următoarea iterație # a buclei. Este destul de inutil aici, # deoarece este ultima declarație a buclei. continue else: # Clauza „else” este opțională și # este executată numai dacă bucla nu s-a „întrerupt” # Nu face nimic dacă rangelist == 2: print „Al doilea element (listele sunt bazate pe 0) este 2”. " elif rangelist == 3: print "Al doilea element (listele sunt bazate pe 0) este 3" else: print "Nu știu" while rangelist == 1: trece

Funcții în Python

Funcțiile sunt declarate folosind cuvântul cheie „def”. Argumentele opționale apar în declarația funcției după cele solicitate și li se atribuie o valoare implicită. Când apelați o funcție, puteți transmite argumente specificând numele și valoarea acestora, omițând în același timp unele dintre argumentele opționale sau aranjandu-le într-o ordine diferită de cea declarată în funcție.

Funcțiile pot returna un tuplu, iar folosind unboxing tuple puteți returna mai multe valori.

Funcțiile lambda sunt funcții speciale care procesează un singur argument.

Parametrii sunt transmisi prin referință. Adăugând elemente la lista trecută veți primi o listă actualizată în afara funcției. În același timp, alocarea unei noi valori parametrilor din interiorul unei funcții va rămâne o acțiune locală. Deoarece trecerea transferă doar locația de memorie, alocarea unui nou obiect unui parametru ca variabilă va determina crearea unui nou obiect.

Exemple de cod:

# La fel ca def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int și a_string sunt opționale, au valori implicite # dacă nu este trecută una ( 2 și, respectiv, „Un șir implicit”). def passing_example(a_list, an_int=2, a_string="Un șir implicit"): a_list.append("Un articol nou") an_int = 4 return a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > tipăriți exemplul_pasare(lista_mea, int_mea) (, 4, „Un șir implicit”) >>> lista_mea >>> int_mea 10

Clasele Python

Python acceptă o formă limitată de moștenire multiplă în clase.

Variabilele și metodele private pot fi declarate (prin convenție, acest lucru nu este verificat de interpret) folosind două litere de subliniere la început și nu mai mult de una la sfârșitul numelui (de exemplu: „__spam”).

De asemenea, putem atribui nume arbitrare instanțelor de clasă. Vezi exemple:

Clasa MyClass(obiect): comun = 10 def __init__(self): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # Aceasta este instanțiarea clasei >>> classinstance = MyClass() >> > classeinstance.myfunction(1, 2) 3 # Această variabilă este partajată de toate clasele. >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # Observați cum folosim numele clasei # în loc de instanță. >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # Aceasta nu va actualiza variabila de pe clasă, # în schimb va lega un obiect nou la vechiul # nume de variabilă. >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # Acest lucru nu sa schimbat, deoarece „common” este # acum o variabilă de instanță. >>> classinstance.common 10 >>> classinstance2.common 50 # Această clasă moștenește de la MyClass. Exemplul # clasa de mai sus moștenește de la „obiect”, ceea ce o face ceea ce se numește „clasă de stil nou”. # Moștenirea multiplă este declarată ca: # class OtherClass(MyClass1, MyClass2, MyClassN) class OtherClass(MyClass): # Argumentul „self” este transmis automat # și se referă la instanța clasei, așa că puteți seta # variabile de instanță ca mai sus, dar din interiorul clasei def __init__(self, arg1): self.myvariable = 3 print arg1 >>. > classinstance = OtherClass("hello") hello >>> classinstance.myfunction(1, 2) 3 # Această clasă nu are un membru .test, dar # putem adăuga unul la instanță oricum. Rețineți # că acesta va fi doar un membru al clasei. >>> classinstance.test = 10 >>> classinstance.test 10

Excepții în Python

Excepțiile în Python sunt gestionate în blocuri try-except:

Def some_function(): try: # Împărțirea cu zero ridică o excepție 10 / 0, cu excepția ZeroDivisionError: print "Hopa, invalid." else: # Excepția nu a apărut, suntem buni. trece în sfârșit: # Acesta este executat după ce blocul de cod este rulat # și toate excepțiile au fost gestionate, chiar # dacă o nouă excepție este ridicată în timpul manipulării. print „Am terminat cu asta.” >>> some_function() Hopa, invalid. Am terminat cu asta.

Importul modulelor în Python

Bibliotecile externe sunt folosite după import folosind cuvântul cheie import. De asemenea, puteți utiliza funcții personalizate de la import la import.

Import aleator din timp import ceas randomint = random.randint(1, 100) >>> print randomint 64

Lucrul cu fișiere în Python

Python are un număr mare de biblioteci pentru lucrul cu fișiere. De exemplu, serializarea (conversia datelor în șiruri de caractere cu biblioteca pickle):

Import pickle mylist = ["Acesta", "este", 4, 13327] # Deschideți fișierul C:\\binary.dat pentru scriere. Litera r dinaintea șirului numelui de fișier # este folosită pentru a preveni scăparea barei oblice inverse. fișierul meu = deschide(r"C:\\binary.dat", "w") pickle.dump(lista mea, fișierul meu) fișierul meu.close() fișierul meu = deschide(r"C:\\text.txt", "w" ) myfile.write("Acesta este un exemplu de șir") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "Acesta este un exemplu de șir" myfile .close() # Deschideți fișierul pentru citire. myfile = open(r"C:\\binary.dat") loadedlist = pickle.load(myfile) myfile.close() >>> print loadedlist ["Acesta", "este", 4, 13327]

Diverse

  • Condițiile pot rămâne împreună, de exemplu 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • Puteți folosi del pentru a elimina variabile sau elemente din matrice.
  • Listele oferă capabilități foarte puternice de manipulare a datelor. Puteți construi o expresie folosind for urmat de if sau for instrucțiuni:
>>> lst1 = >>> lst2 = >>> print >>> print # Verificați dacă o condiție este adevărată pentru orice element. # „orice” returnează adevărat dacă orice element din listă este adevărat. >>> any()) True # Acest lucru se datorează faptului că 4 % 3 = 1, iar 1 este adevărat, deci orice() # returnează True. # Verificați câte elemente este adevărată o condiție. >>> sum(1 for i in if i == 4) 2 >>> del lst1 >>> print lst1 >>> del lst1
  • Variabilele globale sunt declarate în afara funcțiilor și pot fi citite fără declarații speciale în interior, dar dacă doriți să le scrieți, trebuie să declarați de la începutul funcției folosind cuvântul cheie special „global”, altfel Python va atribui noua valoare lui variabila locala:
number = 5 def myfunc(): # Aceasta va imprima 5. print number def anotherfunc(): # Aceasta ridică o excepție deoarece variabila nu a fost # legată înainte de imprimare. Python știe că un obiect # va fi legat de el mai târziu și creează un nou # obiect local, în loc să îl acceseze pe cel global. print number number = 3 def yetanotherfunc(): global number # Acest lucru va schimba corect global. număr = 3

Cum să înveți limbajul de programare Python

Acest material nu este destinat să fie un ghid cuprinzător pentru Python. Limbajul de programare Python are un număr mare de biblioteci și diverse funcționalități cu care vă veți familiariza pe măsură ce continuați să lucrați cu limbajul și să studiați surse suplimentare.

Dacă informațiile prezentate nu sunt suficiente pentru dvs., priviți materialul extins care descrie limbajul de programare Python - oferă informații despre limbaj mai detaliat.

Printre alte materiale, recomand Learn Python The Hard Way. Și, desigur, Tutorialul Python 2 și Tutorialul Python 3.

Mulțumiri lui Stavros Korokithakis pentru tutorialul său excelent „Învățați Python în 10 minute”.

Dacă doriți să îmbunătățiți ceva în acest material, vă rugăm să scrieți în comentarii.

DESPRE Piton(mai bine pronunțat „python”, deși unii spun „python”) - subiectul acestui studiu, este cel mai bine spus de creatorul acestui limbaj de programare, olandezul Guido van Rossum:

„Python este un limbaj de programare de nivel înalt, interpretat, orientat pe obiecte, cu semantică dinamică. Structuri de date la nivel înalt încorporate combinate cu tastare dinamicăși legarea fac limbajul atractiv pentru dezvoltarea rapidă a aplicațiilor (RAD, Rapid Application Development). Poate fi folosit și ca limbaj de scripting pentru a comunica componentele software. Sintaxa Python este ușor de învățat și pune accent pe lizibilitatea codului, ceea ce reduce costurile de întreținere a software-ului. Python acceptă module și pachete, încurajând modularitatea și reutilizarea codului. Interpretul Python și biblioteca standard mare sunt disponibile gratuit ca sursă și cod executabil pentru toate platformele majore și pot fi redistribuite liber.”

Pe măsură ce studiem, sensul acestei definiții va fi dezvăluit, dar deocamdată este suficient să știm că Python este un limbaj de programare universal. Are avantajele și dezavantajele sale, precum și domenii de aplicare. Python este livrat cu o bibliotecă standard extinsă pentru rezolvarea unei game largi de probleme. Biblioteci de înaltă calitate pentru Python sunt disponibile pe Internet în diverse domenii: instrumente de procesare a textului și tehnologii de internet, procesare de imagini, instrumente pentru crearea de aplicații, mecanisme de acces la baze de date, pachete pentru calcul științific, biblioteci de construire a interfețelor grafice etc. În plus, Python are mijloace destul de simple de integrare cu limbajele C, C++ (și Java), atât prin încorporarea interpretului în programele din aceste limbi, cât și invers, prin utilizarea bibliotecilor scrise în aceste limbaje în programele Python. Limbajul Python acceptă mai multe paradigme programare: imperativă (abordări procedurale, structurale, modulare), programare orientată pe obiecte și funcțională.

Putem considera Python ca fiind o întreagă tehnologie pentru crearea de produse software (și prototipurile acestora). Este disponibil pe aproape toate platformele moderne (atât pe 32 de biți, cât și pe 64 de biți) cu un compilator C și pe platforma Java.

Poate părea că nu există loc în industria software-ului pentru altceva decât C/C++, Java, Visual Basic, C#. Cu toate acestea, nu este. Poate că, datorită acestui curs de prelegeri și exerciții practice, Python va câștiga noi adepți pentru care va deveni un instrument indispensabil.

Cum se descrie limba?

Această prelegere nu își propune să descrie Python în mod sistematic, există un ghid de referință original pentru asta. Aici se propune să luați în considerare limbajul din mai multe aspecte simultan, ceea ce se realizează printr-un set de exemple care vă vor permite să vă familiarizați rapid cu programarea reală decât în ​​cazul unei abordări academice stricte.

Cu toate acestea, merită să acordați atenție abordării corecte a descrierii limbii. Crearea unui program este întotdeauna o comunicare în care programatorul transmite computerului informațiile necesare pentru ca acesta din urmă să efectueze acțiuni. Modul în care programatorul înțelege aceste acțiuni (adică „sensul”) poate fi numit semantică. Mijloacele de a transmite acest sens este sintaxă limbaj de programare. Ei bine, ceea ce face interpretul pe baza a ceea ce este transmis se numește de obicei pragmatică. Când scrieți un program, este foarte important să nu existe erori în acest lanț.

Sintaxa este o parte complet formalizată: poate fi descrisă în limbaj formal diagrame de sintaxă (care este ceea ce fac manualele de referință). Expresia pragmaticii este însuși interpretul de limbă. El este cel care citește „mesajul” înregistrat în conformitate cu sintaxa și îl transformă în acțiuni conform algoritmului încorporat în acesta. Singura componentă informală rămâne semantica. Cea mai mare dificultate a programării constă în traducerea sensului într-o descriere formală. Sintaxa lui Python are caracteristici puternice care ajută la apropierea de către programator înțelegerea unei probleme de „înțelegerea” interpretului. Structura internă a lui Python va fi discutată într-una dintre prelegerile finale.

Istoria limbajului Python

Python a fost lansat de Guido van Rossum în 1991, când lucra la sistemul de operare distribuit Amoeba. Avea nevoie de un limbaj extensibil care să ofere suport pentru apelurile de sistem. ABC și Modula-3 au fost luate ca bază. A ales Python ca nume în onoarea serialului de comedie BBC Monty Python's Flying Circus, și deloc după numele șarpelui. De atunci, Python s-a dezvoltat cu sprijinul organizațiilor în care a lucrat Guido. Limbajul este îmbunătățit în mod deosebit activ în prezent, când nu doar echipa de creatori lucrează la el, ci și o întreagă comunitate de programatori din întreaga lume. Cu toate acestea, ultimul cuvânt cu privire la direcția dezvoltării limbajului rămâne cu Guido van Rossum.