列列 what's new
tag on Python

OK.

Python 2.5 新增了許多功能,今天它終於發行了,懶人如我可以開始研究它到底強了多少,再也不必怕 python-dev 會變啦。

  1. 條件表示式 (conditional expression):

    如今,

    if condition:
        x = true_value
    else:
        x = false_value
    

    可以寫成

    x = true_value if condition else false_value
    

    好個 conditional expression, one-liner cool.

  2. 部分函式 (partial function):

    functional programming 的東西,不懂。

  3. Python 套件詮釋資料 (metadata for python package) 1.1:

    PyPI CPAN 化的努力之一。

  1. 絕對與相對匯入 (absolute and relative import):

    太棒了,有了 from . import mymodule 這種語法,不必再 from foo.bar import mymodule,套件開發會方便很多。

  2. 把模組當指令稿用。這在 2.4 就有了,2.5 作了點功能增強。看起來不是很重要。

  3. 統合 try/except/finally 語意。很好,先不研究。

  4. 新的 generator 功能。Generator 我很少用呀,很少有機會去 override __iter__。

  5. with 關鍵字,可以用來限制命名空間。看起來對長函式很有用。

  6. 把 exception 變成新式類別。我這才知道 exception 原本是 old-style class。

  7. 和 C-API 有關的東西,先不管。

  8. 給類別加一個 __index__ 方法,用來處理高級 slicing 所遇到的問題。附帶一提,slice() 內建函式 (類別) 真是好用無比。

  9. 其它語言相關的變更。兩項。

  10. 新增與變更的套件:

    1. 加了 ctypes,呼叫 DLL 用的。
    2. 加了 ElementTree,處理 XML 用的。
    3. 加了 hashlib,可以取代 md5 和 sha 套件。
    4. 加了 sqlite3,就是 pysqlite2 啦。
    5. 加了 wsgiref,搞 web programming 的。
  11. C-API 變更。放著。

Posted by yungyuc at 19:26, 0 comment, 0 trackback.
Change to page (10 entries in each page): 1
© hover year to navigate month: powered by django