Rozdiel medzi Pythonom 2 a Pythonom 3

Ak ste začiatočník, musíte sa pýtať, s ktorou verziou Pythonu by malo byť ľahké začať: Python 2 alebo Python 3. No, nejde o veľa debaty, pretože každá z verzií má svoj spravodlivý podiel na kladoch a záporoch. , Skôr ako sa ponoríme do rozdielov medzi týmito dvoma, mali by ste si všimnúť, že Python 3 je ďalšou generáciou jazyka, ktorý sa chystá nahradiť verziu 2 do roku 2020. Avšak Python 2.7 je stále najpoužívanejším jazykom v komunite Python. Python 3 je nepochybne budúcnosťou Pythonu, zatiaľ čo niektorí programátori sa držia Pythonu 2.7 kvôli jeho obmedzenej podpore knižníc a balíkom, ktoré sú obmedzené iba na verziu 2. Pozrime sa podrobne na rozdiel medzi nimi.

Čo je Python 2?

Python bol koncipovaný na konci osemdesiatych rokov a jeho implementácia začala v roku 1989 Guido van Rossum, ktorý potom pracoval v projekte s názvom „Améba“ v holandskom CWI v Amsterdame. Python 2.0 bol vydaný 16. januárath Október 2000 s novou technickou špecifikáciou s názvom Python Enhancement Návrh (PEP) spolu s niektorými ďalšími funkciami, ako sú porozumenie zoznamu, zvýšená podpora Unicode, detekcia cyklu zberu odpadu a ďalšie. Postupne sa vyvíjala aktualizovanými vydaniami, ktoré vo verzii 2.7 ďalej zvyšovali funkčnosť programovacieho jazyka.

Čo je Python 3?

Python 3 je ďalšou generáciou programovacieho jazyka vydaného v decembri 2008 spolu s niekoľkými novými vylepšeniami a funkciami vrátane niektorých zastaraných funkcií. Verzia sa úplne líši od jej predchodcov a momentálne sa vyvíja, aby nahradila verziu 2.7. Verzia 3 bola vydaná na riešenie bezpečnostných problémov a nedostatkov v dizajne v predchádzajúcich vydaniach, čím sa odstránila nadbytočnosť. Medzi hlavné zmeny v Pythone 3 patrí zmena tlačového príkazu na zabudovanú funkciu, vylepšenie celočíselného delenia, lepšia podpora Unicode a ďalšie.

Rozdiel medzi Pythonom 2 a Pythonom 3

  1. všeobecný

Python 2.0 bol vydaný koncom roku 2000 ako transparentnejší a všestrannejší proces vývoja jazyka, ktorý nahradil jeho predchodcov, a to vďaka niektorým ďalším funkciám, ako sú porozumenie zoznamu a systém zberu odpadu. Proces vývoja sa stal transparentnejším vďaka komunite s vydaním Pythonu 2.2. Avšak, ako sa programovacie jazyky vyvíjajú v priebehu času, zvyšuje sa aj jeho funkčnosť, ktorá nakoniec spôsobuje problémy vývojárom. Výsledkom bolo, že Python verzia 3 bol vydaný koncom roka 2008 s cieľom riešiť nedostatky v dizajne v predchádzajúcich verziách.

  1. vytlačiť

Jedným z kľúčových rozdielov medzi Pythonom verzia 2 a verziou 3 je spôsob fungovania príkazu „print“. Rovnaký skript sa v oboch verziách nespustí súčasne. V Pythone 2.0 sa syntax tlače považuje skôr za príkaz ako za funkciu, ktorá nevyžaduje, aby sa text zalamoval do extra zátvoriek. Avšak v Pythone 3 je print () explicitne považovaný za funkciu, ktorá je tiež spätne kompatibilná s verziou 2.7 a ktorá tiež znamená, že text, ktorý sa má vytlačiť, by mal byť zabalený do zátvoriek alebo dostanete chybu syntaxe..

  1. Celá divízia

Rozdelenie dvoch celých čísel v Pythone 2.0 by vždy vrátilo celé číslo a skrátilo desatinné miesto, ktoré sa nazýva celé číslo. Jednoducho povedané, Python 2.0 zaobchádza s číslicami za desatinnými miestami ako celé čísla, čo vedie k deleniu podlahy. Napríklad, ak napíšete výraz 5/2 do Pythonu 2, vráti ako výsledok 2 namiesto 2,5. Jednoducho vracia celé číslo na najbližšie celé číslo. Výsledkom je, že Python 3 vráti 2,5, vďaka čomu je celé číslo intuitívnejšie a ľahšie použiteľné, najmä pre nováčikov..

  1. Podpora Unicode

Text je v Pythone prezentovaný pomocou dvoch typov reťazcov: reťazce Unicode alebo bajty. Unicode je medzinárodný štandard kódovania znakov a reťazec Unicode je dátová štruktúra v jazyku Python, ktorá sa používa na ukladanie textu, zatiaľ čo bajty sa používajú na ukladanie ľubovoľných binárnych údajov. V Pythone 2 musí byť každý jednotlivý reťazec Unicode označený predponou „u“, pretože v predvolenom nastavení používa znaky ASCII, ktoré nie sú také flexibilné ako kódovanie Unicode. Python 3 však predvolene ukladá reťazce ako Unicode, ktoré sú viac univerzálne ako reťazce ASCII.

  1. xrange

Funkcia „xrange“ Pythonu 2 v Pythone 3 neexistuje, pretože je zastaraná a nahradená „range ()“ vo verzii 3. Funkcia Range je výkonnejšia ako xrange Python 2, čo z nej robí rýchlejšiu cestu, keď niekoľkokrát opakovať rovnakú sekvenciu. Funkcia rozsahu sa správa ako funkcia xrange verzie 2.0. Jednou z hlavných výhod funkcie xrange je však to, že objekt xrange vždy zaberá rovnaké množstvo pamäte bez ohľadu na veľkosť rozsahu, ktorý predstavuje..

Python 2 vs. Python 3: porovnávacia tabuľka

Zhrnutie Python 2 vs Python 3

Python je všestranný programovací jazyk na vysokej úrovni, ktorý sa používa na univerzálne programovanie a ľahko sa učí, bez ohľadu na to, či sa rozhodnete pracovať buď s Python verziou 2.0 alebo verziou 3. Je to ťažké rozhodnutie pre komunitu aj pre nováčikov. presunúť sa z Pythonu 2 do Pythonu 3. Aj keď obe verzie zdieľajú určité podobnosti, pokiaľ ide o funkčnosť, nemalo by sa s nimi zaobchádzať ako s úplne zameniteľnými, pretože k takému prechodu dôjde tak či onak. Hoci je Python 2 starším a stále najobľúbenejším programovacím jazykom v komunite, Python 3 je jazyk novej generácie, ktorý má zostať.