首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Python 2 與 Python 3 主要差異總整理

     編輯:更多程式設計知識

Python 3 為不相容 Python 2 的重大版本,以下彙整核心語法、內建函式、資料型別與模組差異,協助遷移與相容開發。

效能

  • Py3.0 比 Py2.5 慢 ~30%,Py3.1 改善至 ~15%,字串與整數運算仍有優化空間。

編碼

  • Py3 原始碼預設 UTF-8,支援中文變數名:中國 = 'china'。

語法與關鍵字

項目Python 2Python 3
不等號<> 或 !=僅 !=
反引號``移除,改用 repr()
新關鍵字-as, with, True, False, None
整數除法3/2 == 13/2 == 1.5,整除用 //
nonlocal無新增,指派外層非全域變數
print陳述式 print 'hi'函式 print('hi')
exec陳述式函式 exec()
raw_input讀取字串移除,統一用 input()
元組參數解包def f(a, (b, c)):移除
八進位字面值06660o666
二進位字面值無0b101、bin()
擴充解包無a, b, *rest = seq
super()super(Class, self)無參數 super()

標準庫模組重組

  • ConfigParser → configparser
  • Queue → queue
  • SocketServer → socketserver
  • urllib/urllib2 → urllib.request/parse/error

相容策略

  • 使用 from __future__ import print_function, division, unicode_literals 在 Py2 模擬 Py3 行為。
  • 套用 2to3 自動轉換工具輔助遷移。
  • 採用 six 相容庫撰寫雙版本共用代碼。

理解差異點,配合工具與測試,可平滑完成 Python 2 → 3 遷移。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved