Python 2 a Python 3

Anonim

Pokud jste začátečník, musíte se ptát, kterou verzi Pythonu by mělo být snadné začít: Python 2 nebo Python 3. No, není to příliš diskuze, protože každá z verzí má svůj spravedlivý podíl na pro a proti. Než se ponoříme do rozdílů mezi těmito dvěma, měli byste si povšimnout, že Python 3 je novou generací jazyka, který se chystá nahradit verzi 2 do roku 2020. Nicméně Python 2.7 je stále nejrozšířenějším jazykem mezi komunitou Pythonu. Python 3 je nepochybně budoucností Pythonu, zatímco někteří programátoři se drží Pythonu 2.7 kvůli omezené podpoře knihovny a balíčkům, které jsou omezeny pouze na verze 2. Python 3 Pojďme studovat rozdíl mezi nimi podrobněji.

Co je Python 2?

Python byl koncipován koncem 80. let a jeho realizace začala v roce 1989 Guido van Rossum, který pak pracoval v projektu s názvem "Amoeba" na CWI Netherlands, Amsterdam. Python 2.0 byl propuštěn na 16th Října 2000 s novou technickou specifikací nazvanou Python Enhancement Proposal (PEP) spolu s dalšími funkcemi, jako je porozumění seznamu, zvýšená podpora Unicode, systém pro zjišťování odpadků pro detekci cyklů a další. V průběhu času se dále rozvíjel s aktualizovanými verzemi, které dále přidaly funkčnost programovacího jazyka s verzí 2.7.

Co je Python 3?

Python 3 je novou generací programovacího jazyka, která byla vydána v prosinci 2008 spolu s několika novými vylepšeními a funkcemi, včetně některých zastaralých funkcí. Verze je zcela odlišná od jejích předchůdců a v současné době je ve vývoji nahrazovat verzi 2.7. Verze 3 byla uvolněna, aby řešila bezpečnostní problémy a chyby návrhu v předchozích verzích, čímž odstranila redundanci. Mnoho z hlavních změn v Pythonu 3 zahrnuje změnu výpisu tisku na vestavěnou funkci, zdokonalené celočíselné dělení, lepší podporu pro Unicode a další.

Rozdíl mezi Pythonem 2 a Pythonem 3

  1. Všeobecné

Python 2.0 byl vydán koncem roku 2000 jako průhlednější a všestrannější proces vývoje jazyka, který nahrazuje jeho předchůdce díky některým dalším funkcím, jako jsou seznamové informace a systém sběru odpadků. Vývojový proces se stal průhlednějším společenstvím s podporou vydání Pythonu 2.2. Nicméně, jak programovací jazyky se vyvíjejí v průběhu času, tak i jeho funkčnost, která nakonec způsobuje vývojářům problémy. Jako výsledek, Python verze 3 byl propuštěn 2008 v pozdní 2008 k řešení návrhových nedostatků v předchozích verzích.

  1. Vytisknout

Jedním z klíčových rozdílů mezi Pythonem verze 2 a verzí 3 je způsob, jakým funguje příkaz "tisk". Stejný skript nebude fungovat na obou verzích současně. V Pythonu 2.0 se syntaxe tisku chová jako spíše než funkce, která nevyžaduje, aby text byl zabalen do další dvojice závorek. Nicméně v souboru Python 3 je tisk () výslovně považován za funkci, která je také zpětně kompatibilní s verzí 2.7 a která také znamená, že text, který má být vytištěn, by měl být zabalen v závorkách, nebo se dostanete k chybě syntaxe.

  1. Celá divize

Rozdělení dvou celých čísel v Pythonu 2.0 by vždy vrátilo celé číslo a zkrátilo desetinné místo, které se nazývá celočíselné dělení. Jednoduše řečeno, Python 2.0 zpracovává číslice po desetinných bodech jako celá čísla, což vede k rozdělení podlahy. Například pokud zadejte výraz 5/2 v Pythonu 2, vrátí se místo výsledku 2,5 namísto 2,5. Jednoduše vrací celé číslo na nejbližší celé číslo. Nicméně, Python 3 vrátí 2.5, což dělá celočíselné dělení intuitivnější a jednodušší, zvláště pro začátečníky.

  1. Podpora Unicode

Text je prezentován pomocí dvou typů řetězců v Pythonu: Unicode řetězce nebo bajty. Unicode je mezinárodní standard pro kódování znaků a řetězec Unicode je datová struktura v jazyce Python používaném k ukládání textu, zatímco bajty se používají k ukládání libovolných binárních dat. V Pythonu 2 musí být každý řetězec Unicode označen předponou "u", protože ve výchozím nastavení používá znaky ASCII, které nejsou tak flexibilní jako kódování Unicode. Python 3 však ve výchozím nastavení ukládá řetězce jako Unicode, které jsou mnohem univerzálnější než řetězce ASCII.

  1. xrange

Funkce "xrange" Pythonu 2 neexistuje v Pythonu 3, protože je zastaralá a nahrazena "range ()" ve verzi 3. Funkce rozsahu je silnější než xrange Pythonu 2, což je mnohem rychlejší, když iterovat vícekrát za stejnou sekvenci. Funkce rozsahu se chová jako funkce xrange verze 2.0. Jednou z hlavních výhod funkce xrange je však to, že objekt xrange vždy bere stejné množství paměti bez ohledu na velikost rozsahu, který reprezentuje.

Python 2 vs. Python 3: Srovnávací graf

Shrnutí Pythonu 2 vs. Python 3

Python je všestranný programovací jazyk na vysoké úrovni používaný pro programování pro obecné účely a snadno se učí, bez ohledu na to, že se rozhodnete pracovat buď s Pythonem verze 2.0 nebo s verzí 3. Je to obtížné rozhodnutí jak pro komunitu, tak pro nováčky přesunout z Pythonu 2 na Python 3.Zatímco obě verze sdílejí některé podobnosti, pokud jde o funkčnost, nemají být považovány za zcela zaměnitelné, protože přechod se má stát jedním nebo druhým způsobem. Ačkoli Python 2 je starší a stále nejoblíbenější programovací jazyk pro komunitu, Python 3 je jazykem příští generace, který je zde k pobytu.