Python@TW: 會眾| IRC| Planet| 郵件列表| 聯絡我們
修訂版 13 和 14 的差異如下:
2013-10-16 13:52:16 修訂第 13 版
大小: 2169
編輯者: 192
說明: Django 1.5 已經支援 Python 3
2013-10-23 13:48:43 修訂第 14 版
大小: 2662
編輯者: keitheis
說明: 多補充一些 Python 3 的強處
這個顏色代表刪除的 這個顏色代表增加的
行號 6: 行號 6:
 * 更強大更方便的語法
   * {{{x, *y, z = range(5)}}}
   * {{{nonlocal}}}
   * {{{yeild from}}}
 * 更強大更方便的函式庫
   * concurrent.futures (3.2)
   * argparse (3.2)
   * unittest.mock (3.3)
   * venv (3.3)
   * ipaddress (3.3)
   * enum (3.4)
   * asyncio (3.4)
   * statistics (3.4)
 * 更強大更不方便的 {{{print}}}
行號 28: 行號 42:
 * [[http://nedbatchelder.com/blog/201310/whats_in_which_python_3.html|Ned Batchelder: What's in which Python 3?|target="_blank"]]

目前這裡主要是在比較 Python 2 系列與 Python 3 系列。

為什麼要用(學)Python 3?

  • 比較新。
  • 更強大更方便的語法
    • x, *y, z = range(5)

    • nonlocal

    • yeild from

  • 更強大更方便的函式庫
    • concurrent.futures (3.2)
    • argparse (3.2)
    • unittest.mock (3.3)
    • venv (3.3)
    • ipaddress (3.3)
    • enum (3.4)
    • asyncio (3.4)
    • statistics (3.4)
  • 更強大更不方便的 print

  • 之後不用再學一次 Python 3 的語法(但前提是不會需要寫到 Python 2 的程式)。
  • Python 3 是目前官方持續開發(加新功能)的版本。
  • Python 2 最後一個開發版本將維持在 2.7.2,並且不會再有新版(不再加新功能),除非有重大安全才會釋出安全更新版。
  • 許多函式庫已經完成 Python 3 的移植。
  • 更完整的 Unicode 處理能力。例:

為什麼不用(學)Python 3

  • 許多函式庫尚未完成 Python 3 的移植。
  • 目前尚非各平台內建版本(因為上一點)。
  • 本身有特殊需求(例如新工作裡要接手的大量程式都已用 Python 2 完成)、需要用到 Jython(目前停留在 2.5)、Google App Engine(GAE 目前到 2.7)。

參考

外文參考

Python/3 (上次是 140 在 2021-03-23 11:22:44 編輯的)