Rozdíl mezi Python 2 a Python 3

Pokud jste začátečník, musíte si položit otázku, s jakou verzí Pythonu by mělo být snadné začít: Python 2 nebo Python 3. No, není to moc debaty, protože každá z verzí má spravedlivý podíl na kladech a záporech . Než se ponoříme do rozdílů mezi těmito dvěma, měli byste si všimnout, že Python 3 je další generací jazyka, který se chystá nahradit verzi 2 do roku 2020. Avšak Python 2.7 je stále nejrozšířenějším jazykem v komunitě Python. Python 3 je nepochybně budoucností Pythonu, zatímco někteří programátoři se na Pythonu 2.7 drželi kvůli jeho omezené podpoře knihoven a balíčkům, které jsou omezeny pouze na verzi 2. Podívejme se podrobně na rozdíl mezi nimi.

Co je Python 2?

Python byl konceptualizován na konci 80. let a jeho implementace začala v roce 1989 Guido van Rossum, který poté pracoval v projektu s názvem „Amoeba“ v holandském CWI v Amsterdamu. Python 2.0 byl propuštěn na 16tis Říjen 2000 s novou technickou specifikací nazvanou Python Enhancement Návrh (PEP), spolu s některými dalšími funkcemi, jako je porozumění seznamu, zvýšená podpora Unicode, detekce cyklu detekce odpadu a další. Postupně se vyvíjel s aktualizovanými verzemi, které přidávaly další funkce do programovacího jazyka ve verzi 2.7.

Co je Python 3?

Python 3 je další generace programovacího jazyka vydaného 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 předchůdců a v současné době se vyvíjí, aby nahradila verzi 2.7. Verze 3 byla vydána pro řešení bezpečnostních problémů a konstrukčních nedostatků v předchozích vydáních, čímž se odstranila nadbytečnost. Mezi hlavní změny v Pythonu 3 patří změna tiskového příkazu na vestavěnou funkci, vylepšené celočíselné dělení, lepší podpora Unicode a další.

Rozdíl mezi Python 2 a Python 3

  1. Všeobecné

Python 2.0 byl propuštěn na konci roku 2000 jako transparentnější a všestrannější proces vývoje jazyka, který nahradil jeho předchůdce, díky některým dalším funkcím, jako je porozumění seznamu a systém sběru odpadků. Proces vývoje se stal transparentnějším díky komunitě díky vydání Pythonu 2.2. Nicméně, jak se programovací jazyky vyvíjejí v průběhu času, mění se také jeho funkčnost, která nakonec způsobuje vývojářům problémy. Výsledkem bylo, že Python verze 3 byl propuštěn na konci roku 2008 s cílem řešit nedostatky designu v předchozích verzích.

  1. Tisk

Jedním z klíčových rozdílů mezi Pythonem verze 2 a verzí 3 je způsob, jakým funguje příkaz „print“. Stejný skript se v obou verzích nespustí současně. V Pythonu 2.0 je syntaxe tisku považována spíše za příkaz než za funkci, která nevyžaduje, aby byl text zalomen do další dvojice závorek. V Pythonu 3 je však tisk () explicitně 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 do závorek, nebo dostanete chybu 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 zachází s číslicemi za desetinnými místy jako celá čísla, což má za následek dělení podlah. Například pokud zadáte výraz 5/2 do Pythonu 2, vrátí jako výsledek 2 místo 2,5. Jednoduše vrátí celé číslo na nejbližší celé číslo. Python 3 však vrací 2,5 jako výsledek, díky kterému je celé číslo intuitivnější a snadno použitelné, zejména pro nováčky.

  1. Podpora Unicode

Text je v Pythonu prezentován pomocí dvou typů řetězců: řetězce Unicode nebo bajty. Unicode je mezinárodní standard pro kódování znaků a řetězec Unicode je datová struktura v jazyce Python, která se používá 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ý jednotlivý řetězec Unicode označen předponou „u“, protože ve výchozím nastavení používá znaky ASCII, což není tak flexibilní jako kódování Unicode. Python 3 však ve výchozím nastavení ukládá řetězce jako Unicode, které jsou univerzálnější než řetězce ASCII.

  1. uspořádat

Funkce „xrange“ Pythonu 2 v Pythonu 3 neexistuje, protože je ve verzi 3 zastaralá a nahrazena „range ()“. Funkce Range je výkonnější než xrange Python 2, což zrychluje, když opakování vícekrát ve stejné sekvenci. Funkce Range 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 vezme stejné množství paměti bez ohledu na velikost rozsahu, který představuje..

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

Shrnutí Python 2 vs Python 3

Python je univerzální programovací jazyk na vysoké úrovni používaný pro univerzální programování a snadno se učí, bez ohledu na to, zda se rozhodnete pracovat s Pythonem verze 2.0 nebo verzí 3. Je to obtížné rozhodnutí jak pro komunitu, tak pro nováčky přesunout se z Pythonu 2 do Pythonu 3. Zatímco obě verze sdílejí některé podobnosti z hlediska funkčnosti, neměly by se s nimi zacházet jako s plně zaměnitelnými, protože k přechodu dojde, tak či onak. Přestože je Python 2 starším a stále nejpopulárnějším programovacím jazykem v komunitě, Python 3 je jazyk příští generace, který má zůstat.