Python 2 a Python 3

Přehled rozdílů

Podle Python Wiki: Python 2.x je pozůstalost, Python 3.x je současnost a budoucnost jazyka Python.

Python 2 (P2) výhody:

  • P2 ve spoustě Linuxových distribucí je tento jazyk defaultní volba
  • P2 má zatím asi stále více balíčků než P3

Python 3 (P3) výhody:

  • P3 je vyvíjený (je v něm budoucnost)
  • P3 je lepší pro začátečníky Python 3 Q & A

Poznámky:

  • Můžete si nainstalovat oba (P2 i P3) na stejném počítači. Pokud je P2 nastaven jako defaultní, můžete skripty spouštět jako:

    P2: python your_script.py

    P3: python3 your_scirpt.py

  • Můžete používat obe věrze souběžně (dokonce více podverzí) pomocí Virtualenv (tohle je ideální řešení).

Rozdíly a jejich obcházení

Některé zajímavé nově přidané věci v P3 (nejsou v P2):

  • string je Unicode defaultně
  • řetězení vyjímek
  • anotace funkcí
  • deklarace nelokálních proměnných

Tohle je jen pár příkladů z celého seznamu novinek.

Problém s dělením

Python 2:

4 / 3 = 1.

Python 3 (dělí floatem defaultně - intuitivní přístup):

4 / 3 = 1.3333333333333

Pokud chcete v P2 používat toto chování z P3, použíjte následující import


In [1]:
from __future__ import division

Příkaz print

Python 2:

print 'abc', 1

Python 3:

print('abc', 1)

Pokud chcete v P2 používat toto chování z P3, použíjte následující import


In [2]:
from __future__ import print_function