Diferența dintre Python 2 și Python 3

Dacă sunteți începător, trebuie să vă întrebați ce versiune Python ar trebui să fie ușor de început cu: Python 2 sau Python 3. Ei bine, nu este vorba despre o dezbatere deoarece fiecare versiune are o parte echitabilă a argumentelor pro și contra . Înainte de a ne scufunda în diferențele dintre cele două, trebuie să notați că Python 3 este următoarea generație a limbii care urmează să înlocuiască versiunea 2 până în 2020. Cu toate acestea, Python 2.7 este în continuare limba cea mai utilizată în comunitatea Python. Python 3 este, fără îndoială, viitorul lui Python, în timp ce unii programatori se țin de Python 2.7 din cauza suportului limitat al bibliotecii și a pachetelor care sunt limitate doar la versiunea 2. Să studiem diferența dintre ele în detaliu.

Ce este Python 2??

Python a fost conceptualizat la sfârșitul anilor 1980, iar implementarea sa a început în 1989 de către Guido van Rossum, care apoi a lucrat într-un proiect numit "Amoeba" la CWI Olanda, Amsterdam. Python 2.0 a fost lansat pe 16lea Octombrie 2000, cu o nouă specificație tehnică denumită Python Enhancement Proposal (PEP) împreună cu câteva caracteristici suplimentare, cum ar fi înțelegerea listei, suportul Unicode crescut, sistemul de colectare a gunoiului pentru detectarea ciclului și multe altele. A continuat să se dezvolte de-a lungul timpului cu versiuni actualizate, care au adăugat în continuare funcționalități limbajului de programare cu versiunea 2.7.

Ce este Python 3??

Python 3 este următoarea generație a limbajului de programare lansat în decembrie 2008, împreună cu câteva îmbunătățiri și caracteristici noi, inclusiv unele caracteristici depreciate. Versiunea este complet diferită de predecesorii săi și este în curs de dezvoltare pentru a înlocui versiunea 2.7. Versiunea 3 a fost lansată pentru a aborda problemele de securitate și defectele de proiectare din versiunile anterioare, eliminând astfel redundanța. Puține schimbări majore în Python 3 includ schimbarea instrucțiunii de tipărire într-o funcție încorporată, o diviziune integrată îmbunătățită, o mai bună asistență Unicode și multe altele.

Diferența dintre Python 2 și Python 3

  1. General

Python 2.0 a fost lansat la sfârșitul anului 2000 ca un proces de dezvoltare a limbajului mai transparent și versatil, pentru a-și înlocui predecesorii, datorită unor caracteristici suplimentare, cum ar fi comprehensiunea listei și sistemul de colectare a gunoiului. Procesul de dezvoltare a devenit mai transparent în comunitate cu lansarea Python 2.2. Cu toate acestea, pe măsură ce limbile de programare evoluează de-a lungul timpului, funcționalitatea acestuia provoacă în cele din urmă probleme dezvoltatorilor. Ca rezultat, Python versiunea 3 a fost lansat 2008 la sfârșitul anului 2008 pentru a aborda defectele de design din versiunile anterioare.

  1. Imprimare

Una dintre diferențele cheie dintre Python versiunea 2 și versiunea 3 este modul în care funcționează instrucțiunea "print". Același script nu se va difuza în ambele versiuni în același timp. În Python 2.0, sintaxa de imprimare este tratată ca o instrucțiune mai degrabă decât o funcție care nu necesită învelirea unui text într-o pereche suplimentară de paranteze. Cu toate acestea, în Python 3, print () este tratat în mod explicit ca o funcție care este, de asemenea, compatibilă cu versiunea 2.7 și care înseamnă că textul care urmează să fie tipărit trebuie să fie înfășurat în paranteză sau veți primi o eroare de sintaxă.

  1. Divizia intreg

Împărțirea a două numere întregi în Python 2.0 va întoarce întotdeauna un întreg și va trunchia locul zecimal numit intreg diviziune. În termeni simpli, Python 2.0 tratează cifrele după punctele zecimale ca întregi, ceea ce are drept rezultat diviziunea podelei. De exemplu, dacă tastați expresia 5/2 în Python 2, va reveni 2 ca rezultat în loc de 2,5. Pur și simplu returnează întregul număr cel mai apropiat. Cu toate acestea, Python 3 va returna 2,5 ca urmare, ceea ce face ca diviziunea intrega sa fie mai intuitiva si usor de folosit, in special pentru incepatori.

  1. Suport Unicode

Textul este prezentat folosind două tipuri de șiruri de caractere în Python: Unicode Strings sau Bytes. Unicode este standardul internațional pentru codificarea caracterului și șirul Unicode este o structură de date în limba Python folosită pentru stocarea textului, în timp ce octeții sunt utilizați pentru a stoca date binare arbitrare. În Python 2, fiecare șir Unicode trebuie să fie marcat cu un prefix "u", deoarece utilizează în mod implicit caractere ASCII, care nu este la fel de flexibil ca și codarea Unicode. Cu toate acestea, Python 3 stochează în mod implicit șiruri ca Unicode, care sunt mai versatile decât șiruri ASCII.

  1. xrange

Funcția "xrange" a Python 2 nu există în Python 3 deoarece este depreciată și înlocuită cu "range ()" în versiunea 3. Funcția range este mai puternică decât xrange-ul Python 2, ceea ce o face mai rapid când iterând peste aceeași secvență de mai multe ori. Funcția de interval se comportă ca și funcția xrange a versiunii 2.0. Cu toate acestea, unul dintre principalele avantaje ale funcției xrange este că un obiect xrange necesită întotdeauna aceeași cantitate de memorie indiferent de dimensiunea intervalului pe care îl reprezintă.

Python 2 vs. Python 3: Graficul de comparație

Rezumatul Python 2 vs Python 3

Python este un limbaj de programare versatil, de nivel înalt folosit pentru programarea generală și este ușor de învățat, indiferent dacă alegeți să lucrați fie cu Python versiunea 2.0, fie cu versiunea 3. Este o decizie dificilă atât pentru comunitate, cât și pentru începători pentru a trece de la Python 2 la Python 3. În timp ce ambele versiuni partajează unele similarități în termeni de funcționalitate, ele nu trebuie tratate ca fiind complet interschimbabile, deoarece tranziția urmează să se întâmple, într-un fel sau altul. Deși Python 2 este cea mai veche și încă cea mai populară limbaj de programare din comunitate, Python 3 este limba următoare de generație care este acolo pentru a rămâne.