當程式出現詭異的bug時,我們需要層層去跟蹤,尤其是要理清順序。
這時如果有個清晰的呼叫脈絡除錯就容易多了。
利用inspect模組的getframeinfo方法來實現這需求。
上**感受下。
[python]view plain
copy
import
inspect
deffoo():
who = inspect.getframeinfo(inspect.currentframe().f_back)[2
'{} call me'
.format(who)
defa():
foo()
defb():
foo()
a()
b()
a()
結果輸出:
a call me
b call me
a call me
飄逸的python yield簡明教程
發現還有非常多人對yield不理解,雲裡霧裡,於是試著用文字表述.僅僅要函式含有yield語句,它就返回乙個生成器.所以我們與其把其看成函式定義,不如看作是生成器定義.函式用return返回,而生成器用yield返回.接下來是yield的行為.比方def html yield header for ...
技巧 列舉子集的飄逸寫法
設s表示乙個01狀態集,那麼它的所有非空子集x可以通過以下 列舉。for int x s x x x 1 s 簡單說明下原理 證明以後補上?x x 1 s實際上是把s中的0全部忽略,並不斷減1的結果,比如s 1011,則x分別為 1011,1010,1001,1000,0011,0010,0001。...
飄逸的python 簡明gzip模組壓縮教程
分類 python 2013 07 22 07 55 109人閱讀收藏 舉報gzip 目錄 先看乙個略麻煩的做法 python view plain copy import stringio,gzip content life is short.i use python zbuf stringio....