Razlika između Python 2 i Python 3

Ako ste početnik, sigurno se pitate s kojom verzijom Pythona bi trebalo biti lako započeti: Python 2 ili Python 3. Pa, nije mnogo rasprave jer svaka od inačica ima popriličan udio prednosti i nedostataka. , Prije nego što uđemo u razlike između to dvoje, trebate imati na umu da je Python 3 sljedeća generacija jezika koji će zamijeniti verziju 2 do 2020. Međutim, Python 2.7 je i dalje najčešće korišteni jezik u Python zajednici. Python 3 je nesumnjivo budućnost Pythona, dok se neki programeri pridržavaju Pythona 2.7 zbog ograničene podrške knjižnice i paketa koji su ograničeni samo na verziju 2. Proučimo detaljno razliku između njih.

Što je Python 2?

Python je konceptualiziran krajem 1980-ih, a njegova primjena započela je 1989. godine Guido van Rossum koji je tada radio u projektu zvanom „Amoeba“ na Nizozemskom CWI. Python 2.0 objavljen je 16th Listopada 2000. s novom tehničkom specifikacijom pod nazivom Python Enhancement Prijedlog (PEP), zajedno s nekim dodatnim značajkama kao što su razumijevanje popisa, povećana podrška Unicode, sustav otkrivanja smeća i otkrivanje ciklusa, i još mnogo toga. Tijekom vremena nastavio se razvijati ažuriranim izdanjima koja su dodala funkcionalnosti programskom jeziku s verzijom 2.7.

Što je Python 3?

Python 3 je sljedeća generacija programskog jezika objavljena u prosincu 2008., zajedno s nekoliko novih poboljšanja i značajki, uključujući neke zastarjele značajke. Verzija se potpuno razlikuje od svojih prethodnika i trenutno je u razvoju kako bi zamijenila verziju 2.7. Verzija 3 objavljena je za rješavanje sigurnosnih problema i nedostataka dizajna u prethodnim izdanjima, čime je uklonjena suvišnost. Nekoliko glavnih promjena u Python-u 3 uključuju promjenu ispisa ispisa u ugrađenu funkciju, poboljšanu cjelobrojnu podjelu, bolju podršku Unicode-a i još mnogo toga.

Razlika između Python 2 i Python 3

  1. Općenito

Python 2.0 objavljen je krajem 2000. godine kao transparentniji i svestraniji jezični proces razvoja koji će nadmašiti svoje prethodnike, zahvaljujući nekim dodatnim značajkama kao što su razumijevanje popisa i sustav za odvoz smeća. Procesom razvoja postao je transparentniji i podržaniji od zajednice izdanjem Pythona 2.2. Kako se s vremenom razvijaju programski jezici, tako i njegova funkcionalnost koja s vremenom stvara probleme programerima. Kao rezultat toga, Python verzija 3 objavljena je 2008. krajem 2008. kako bi se riješile nedostatke dizajna u prethodnim verzijama.

  1. otisak

Jedna od ključnih razlika između verzije Python 2 i verzije 3 je način rada izjave "print". Ista skripta neće se pokrenuti na obje verzije istovremeno. U Python 2.0, sintaksa ispisa tretira se kao izraz, a ne kao funkcija koja ne zahtijeva da tekst bude omotan u dodatni par zagrada. No, u Python-u 3 ispis () se izričito tretira kao funkcija koja je također kompatibilna s unatrag verzijom 2.7, a što također znači da se tekst koji treba ispisati treba zamotati u zagrade ili ćete dobiti sintaksičku grešku.

  1. Odjel za integritet

Podijeli dva cjelobrojna broja u Python-u 2.0 uvijek će vratiti cijeli broj i skraćivati ​​decimalno mjesto koje se naziva cjelobrojna podjela. Jednostavno rečeno, Python 2.0 obrađuje znamenke nakon decimalnih točaka kao cjelobrojne brojeve, što rezultira dijeljenjem poda. Na primjer, ako upišete izraz 5/2 u Python 2, vratit će 2 kao rezultat umjesto 2,5. Jednostavno vraća cijeli broj na najbliži cijeli broj. Međutim, Python 3 će vratiti 2,5 zbog čega cijelu podjelu čini intuitivnijom i jednostavnijom za upotrebu, posebno za novajlije.

  1. Unicode podrška

Tekst je predstavljen pomoću dvije vrste žica na Python-u: Unicode Strings ili Bytes. Unicode je međunarodni standard za kodiranje znakova, a Unicode string podatkovna je struktura na jeziku Python-a koja se koristi za pohranu teksta dok se bajtovi koriste za pohranu proizvoljnih binarnih podataka. U Python-u 2, svaki pojedinačni niz Unicode mora biti označen prefiksom "u" jer koristi ASCII znakove koji po defaultu nisu tako fleksibilni kao kodiranje Unicode. No, Python 3 pohranjuje žice kao Unicode koje su po defaultu svestranije od ASCII žice.

  1. xrange

Funkcija "xrange" Pythona 2 ne postoji u Python-u 3 jer je zastarjela i zamijenjena "range ()" u verziji 3. Funkcija raspona je moćnija od xrange-a Python-a 2, što ga čini bržim kada ponavljanje kroz isti niz više puta. Funkcija raspona ponaša se poput funkcije xrange verzije 2.0. Međutim, jedna od glavnih prednosti funkcije xrange je da xrange objekt uvijek zauzima istu količinu memorije bez obzira na veličinu raspona koji predstavlja.

Python 2 vs. Python 3: uporedni grafikon

Sažetak Pythona 2 i Pythona 3

Python je svestran programski jezik visoke razine koji se koristi za programiranje opće namjene i lako ga je naučiti, bez obzira što odlučite raditi ili s Python verzijom 2.0 ili verzijom 3. Teška je odluka i za zajednicu i za novorođenče prelazak s Pythona 2 na Python 3. Iako obje verzije imaju neke sličnosti u pogledu funkcionalnosti, one se ne smiju tretirati kao potpuno izmjenjive jer će se prijelaz, na ovaj ili onaj način, dogoditi. Iako je Python 2 stariji i još uvijek najpopularniji programski jezik u zajednici, Python 3 je jezik sljedeće generacije koji ostaje tamo.