Python: Limbaj de programare

Python este un limbaj de programare dinamic multi-paradigmă, creat în 1989 de programatorul olandez Guido van Rossum.

Python
Python: Sintaxă și Implementare, Popularitatea, Vezi și
Python
Extensii fișiere.py, .pyw, .pyc, .pyo, .pyd
Paradigmămulti-paradigmă: object-oriented, imperativă, funcțională, procedurală, reflectivă
Apărut în1991
Proiectat deGuido van Rossum
DezvoltatorPython Software Foundation[*][[Python Software Foundation (American nonprofit organization)|​]]
Guido van Rossum[*]  Modificați la Wikidata
Ultima versiune3.7.1 /
 (2018-10-20)
2.7.15 /
 (2018-05-01)
Tipareduck typing[*][[duck typing (style of dynamic, structural typing with lazy checking of objects' attributes)|​]]
dynamic typing[*][[dynamic typing (type system paradigm in which objects' types are enforced at runtime)|​]]
gradual typing[*][[gradual typing (typing system)|​]]  Modificați la Wikidata
Implementări majoreCPython, PyPy, IronPython, Jython
DialecteCython, RPython, Stackless Python
Influențat deABC, ALGOL 68, C, C++, Dylan, Haskell, Icon, Java, Lisp, Modula-3, Perl
InfluențeBoo, Cobra, D, F#, Falcon, Go, Groovy, JavaScript, Ruby
LicențăPython Software Foundation License
Prezență onlineSite web oficial
Wiki RomânăWikibooks logo Python Programming la Wikibooks

Van Rossum este și în ziua de astăzi un lider al comunității de dezvoltatori de software care lucrează la perfecționarea limbajul Python și implementarea de bază a acestuia, CPython, scrisă în C. Python este un limbaj multifuncțional folosit de exemplu de către companii ca Google sau Yahoo! pentru programarea aplicațiilor web, însă există și o serie de aplicații științifice sau de divertisment programate parțial sau în întregime în Python. Popularitatea în creștere, dar și puterea limbajului de programare Python au dus la adoptarea sa ca limbaj principal de dezvoltare de către programatori specializați și chiar și la predarea limbajului în unele medii universitare. Din aceleași motive, multe sisteme bazate pe Unix, inclusiv Linux, BSD și Mac OS X includ din start interpretatorul CPython.

Python pune accentul pe curățenia și simplitatea codului, iar sintaxa sa le permite dezvoltatorilor să exprime unele idei programatice într-o manieră mai clară și mai concisă decât în alte limbaje de programare ca C. În ceea ce privește paradigma de programare, Python poate servi ca limbaj pentru software de tipul object-oriented, dar permite și programarea imperativă, funcțională sau procedurală. Sistemul de tipizare este dinamic iar administrarea memoriei decurge automat prin intermediul unui serviciu „gunoier” (garbage collector). Alt avantaj al limbajului este existența unei ample biblioteci standard de metode.

Implementarea de referință a Python este scrisă în C și poartă deci numele de CPython. Această implementare este software liber și este administrată de fundația Python Software Foundation.

Sintaxă și Implementare

Tipizare

Limbajele dinamice sunt deseori caracterizate prin tipizare dinamică, sunt interpretate, au management de memorie automatizat (garbage collecting) și au un nivel înalt de abstractizare. Tipul variabilelor nu este fixat la momentul declarării acestora (de fapt, declararea variabilelor nu este necesară ca în C), ci este determinat de interpretator după conținutul lor sau după operațiile efectuate. Într-un asemenea caz se vorbește de tipizare dinamică.

Avantajul acestei metode de a lucra cu tipuri este că codul produs este mai clar și mai intuitiv. De exemplu:

 a = 10 # a va fi considerat un număr întreg (integer)  b = 11.5 # b va fi considerat un număr rațional (double sau float)  c = "un rând de text" # c va fi considerat un șir (string) 

În ciuda tipizării dinamice, Python este puternic tipizat, adică interpretatorul nu permite operații cu obiecte de tip diferit dacă acestea nu sunt bine definite, cum ar fi operațiile de tip cast în C. Există totuși unele excepții logice, cum ar fi în cazul numerelor întregi și celor raționale (float), între care sunt permise operații ca adunarea sau împărțirea, tipul rezultatului ținând cont de natura operației, cum se poate vedea mai jos:

 d = 10 + 11.5 # rezultatul va fi un număr rațional, 21.5  e = "o brioșă" + 4 # această comandă va genera o eroare. 

Alt concept important în Python este cel al tipurilor mutabile și nemutabile. Așa cum implică numele, datele cu un tip mutabil pot fi alterate după inițializare, în vreme ce la date nemutabile lucrul acesta este imposibil. Luând ca exemplu o listă (mutabilă), constatăm că putem adăuga elemente la listă sau le putem modifica fără probleme. În cazul unui șir de caractere (nemutabil), acest lucru nu este permis:

 lista_mea = ["măr", "pară"]  lista_mea.append("strugure") # adaugă la listă  print lista_mea[2] # afișază: strugure   șirul_meu = "varză"  șirul_meu[0] = "b" # schimbă cuvântul în "barză" -> Eroare 

Structuri de date

Python: Sintaxă și Implementare, Popularitatea, Vezi și 

Python oferă tipuri tradiționale de date, cum ar fi numărul întreg (integer, int) sau cel rațional (float), dar introduce totodată și concepte noi.

De exemplu, un grad mare de flexibilitate îl oferă listele (tablourile) în Python. Acestea nu sunt statice, ci pot conține orice tipuri de date (în cadrul aceleiași liste) și pot fi modificate pe loc adăugând și eliminând elemente fără a declara sau utiliza funcții de manipulare a memoriei.

 lista_mea = [10, "șir de caractere", variabilă, ["altă", "listă"], chiar_și_o_funcție] 

Alte structuri de date sunt tuplurile/perechile (tuples) și dicționarele (dictionaries, mappings). Tuplurile sunt liste care au un număr prestabilit de elemente, și nu pot fi modificate parțial. Tuplurile pot fi utilizate în cazuri în care este nevoie de o anumită structură de date specializată, de exemplu coordonate în spațiul cartezian. Dicționarele sunt liste neordonate în care fiecare element are asociat o cheie, care poate fi număr sau șir de caractere. Dicționarele au foarte multe aplicații, inclusiv crearea structurilor de tip hash-tables.

Stil

Python: Sintaxă și Implementare, Popularitatea, Vezi și 
Sintaxa Python 2.x. Modul de aliniere creează rutine și subrutine.

Python este un limbaj multi-paradigmă, concentrându-se asupra programării imperative, orientate pe obiecte și funcționale, ceea ce permite o flexibilitate mai mare în scrierea aplicațiilor. Din punctul de vedere al sintaxei, Python are un număr de construcții și cuvinte cheie cunoscute oricărui programator, dar prezintă și un concept unic: nivelul de indentare are semnificație sintactică. Blocurile de cod sunt delimitate prin simplă indentare.

În C un astfel de blocuri sunt deseori desemnate prin acolade, {}, dar în Python nu este nevoie de astfel de construcții. Nivelele de indentare îndeplinesc această funcție. Această importanță a indentării este foarte suprinzătoare pentru mulți utilizatori noi ai limbajului Python, chiar dacă sunt programatori cu experiență. Dar o astfel de utilizare a indentării permite codului să fie mai ușor de citit și mai compact. Programatorii cu experiență vor indenta implicit codul sursă, oricare ar fi limbajul, fiindcă astfel se permite structurarea codului sursă și evidențierea funcționalității. Python face din această deprindere folositoare în acest sens o cerință strictă.

O impunere similară există și în limbajul de programare Java, care forțează programatorii să delimiteze clasele în fișiere aparte, din motive de organizare și sporire a eficienței de scriere a softului în echipe.

Biblioteci și Extindere

Python: Sintaxă și Implementare, Popularitatea, Vezi și 
Logo-ul wxPython, o bibliotecă Python pentru interfața grafică

Includerea tuturor acestor structuri, precum și a funcțiilor ce permit manipularea și prelucrarea lor, precum și multe alte biblioteci de funcții sunt prezente datorită conceptului “Batteries Included”, ce poate fi explicat prin faptul că Guido van Rossum și comunitatea ce s-a format în jurul limbajului cred că un limbaj de programare nu prezintă utilitate practică dacă nu are un set de biblioteci importante pentru majoritatea dezvoltatorilor.

Din acest motiv Python include biblioteci pentru lucrul cu fișiere, arhive, fișiere XML și un set de biblioteci pentru lucrul cu rețeaua și principalele protocoale de comunicare pe internet (HTTP, Telnet, FTP). Un număr mare de platforme Web sunt construite cu Python. Abilitățile limbajului ca limbaj pentru programarea CGI sunt în afara oricăror dubii. De exemplu YouTube, unul din site-urile cu cea mai amplă cantitate de trafic din lume, este construit pe baza limbajului Python.

Totuși, Python permite extinderea funcționalității prin pachete adiționale programate de terți care sunt axate pe o anumită funcționalitate. De pildă, pachetul wxPython conține metodele și structurile necesare creării unei interfețe grafice.

Popularitatea

Popularitatea limbajului este în creștere începând cu anul 2000, datorită faptului că Python permite crearea mai rapidă a aplicațiilor care nu cer viteze înalte de procesare a datelor. De asemenea este util ca limbaj de scriptare, utilizat în cadrul aplicațiilor scrise în alte limbaje. Modulele (bibliotecile) Python pot fi de asemenea scrise în C, compilate și importate în Python pentru a mări viteza de procesare.

Un studiu empiric a constatat că limbajele de scripting, cum ar fi Python, sunt mai productive decât limbajele convenționale, cum ar fi C și Java, pentru probleme de programare care implică manipularea șirurilor de caractere și căutarea într-un dicționar și a determinat că consumul de memorie a fost adesea „mai bun decât Java și nu. mult mai rău decât C sau C++”.

Organizațiile mari care folosesc Python includ Wiki, Google, Yahoo!, CERN, NASA, Facebook, Amazon, Instagram, Spotify și unele entități mai mici. precum ILM și ITA. Site-ul de rețele de știri sociale Reddit a fost scris în mare parte în Python.

Vezi și

Note

Legături externe

Tags:

Python Sintaxă și ImplementarePython PopularitateaPython Vezi șiPython NotePython Legături externePython1989BSDCGoogleLimbaj de programare multiparadigmăLinuxMac OS XYahoo!

🔥 Trending searches on Wiki Română:

Diana Iovanovici-ȘoșoacăIon iliescuLeonardo da VinciRareș MarișTânăr și neliniștitBogdan Petriceicu HasdeuMarie CurieBicarbonat de sodiuDorinel MunteanuOrheiul VechiBogdan LobonțKosovoIulius CezarJudețul IlfovLăcrămioarăCarbonTenerifeTwitterPetru RareșRomânia comunistăTravis ScottSingaporeEmiratele Arabe UnitePârghiePalatul ParlamentuluiUnirea Principatelor RomâneNaturăArmă nuclearăAdrian MutuUniversitatea Politehnica din BucureștiReal Madrid CFSuleyman Magnificul (serial)Imperiul OtomanServiciul Român de InformațiiAlexandru Ioan CuzaMarinel BurdujaRonaldinhoAlina GorghiuPlatonLionel MessiPenis umanCodru (masiv forestier din Republica Moldova)BiodiversitateElsa PatakyImmanuel KantMuzeul LuvruAvram IancuSalariul minim pe economie în RomâniaO scrisoare pierdutăFinala Cupei Campionilor Europeni 1986TurciaMarele Zid ChinezescFlorinel ComanAutostrada A1 (România)FilmBibliaFC Petrolul PloieștiGheorghe HagiSri LankaAna PorgrasAparatul genital femininGen cinematograficConstantin Corduneanu (luptător)CanadaOradeaGiurgiuCapricorn (zodie)Istoria MoldoveiMarcu EvanghelistulCoțofanăPiSofia Ionescu-OgrezeanuTârgu MureșPlaiul FaguluiIoan AndoneSC Oțelul GalațiHakan ÇalhanoğluAgenția Națională de Administrare FiscalăMadrid Open (tenis)🡆 More