在 Python 開發過程中,我們經常需要將不同類型的物件進行序列化,以便於存儲或通過網絡進行傳輸。對於基本數據類型和容器類型,這通常是一個直接的過程。然而,當涉及到更複雜的物件,如函數時,事情就變得有些棘手。
Singleton 這東西大家想必不陌生,在 Python 裡實做的方式滿多, 這邊用這個當例子介紹 Meta Class 可以做什麼。
概念上很簡當, 讓Class的建構子不能產生Instance, 然後再提供一個 class method 能夠取得Instance(而且只能有一個), 在Python 你可以用id來檢查兩個物件是不是相同的。
class Singleton(type):
def __init__(cls,name,bases,dic):
super(Singleton,cls).__init__(name,ba…
繼續閱讀⋯⋯
在 Python 編程中,我們經常會遇到需要自定義模板字符串的情況。Python 標準庫中的 Template 類提供了一種靈活的方式來處理字串替換,但它的使用有時會受到限制。特別是當涉及到修改 Template 類的 delimiter 屬性時,事情就變得複雜起來。這是因為 Template 類的設計包含了元類(meta class),使得在類或實例層面上直接修改 delimiter 變得不可行。本文將探討這一問題的背後原理,並提供一種簡單的解決方案。
用途: 用來警告 function 或 class method 已過時,如果有指定取代的function的話,在runtime時改用取代的function
Python 2.7.2+ (default, Oct 4 2011, 20:03:08)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from vsg…
繼續閱讀⋯⋯
Debian 官方目前建議改用使用 dh_python2
取代 py_support
及 py_central
,以下是自己轉換的紀錄,只適用打包單純的Python module,並不適合Python module裡面有包含extension.