Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Khác biệt giữa Python 2.x và 3.x?


Python 2.x là legacy (đã EOL 2020), Python 3.x là hiện tại và tương lai.

Tính năng chỉ có trong 3.x:

  • String là Unicode mặc định.
  • Tách biệt rõ ràng Unicode/bytes.
  • Exception chaining (raise ... from ...).
  • Function annotations (type hints).
  • Syntax keyword-only arguments (def f(*, kw)).
  • Extended tuple unpacking (a, *b, c = seq).
  • Non-local variable declarations (nonlocal).

Một số khác biệt chính:

  • print: Py2 là statement (print "hi"), Py3 là function (print("hi")).
  • Biến trong list comprehension: Py2 leak biến lặp ra scope toàn cục; Py3 không.
  • Chia nguyên (integer division): Py2: 3/2 == 1; Py3: 3/2 == 1.5. Py3 dùng // cho chia nguyên. Py2 muốn chia float: thêm .0 (3/2.0).

Nhiều thay đổi khác – xem What's New In Python 3.