先看幾個簡單的例子:
>>> a = [[1,2],[3,4],[5,6]]
>>> sum(a,[])
[1, 2, 3, 4, 5, 6]
Python 真的好神奇 : )再補充一個,Python切片:
>>> l = [1,2,3]
>>> l[1:1] = 'a'
>>> l
[1, 'a', 2, 3]
Python分組list:
>>> a = [1, 2, 3, 4, 5, 6]
>>> zip(*([iter(a)] * 2))
[(1, 2), (3, 4), (5, 6)]
那么我們再來看下面的幾個例子,你會有什么什么樣的感受?
第一眼看起來,只是覺得這個很方便啊,可是仔細想想怎么實現,真是。。。全是黑科技。。。
Q 的最簡單用法,打印 foo 的值:
import q; q(foo)
沒 get 到點?再看一眼,import 了一個叫 q 的 module,然后 call 了 q?不是 q.q,不是 from q import *,就是q。q 既是一個 module 又是 callable。
在這里還是要推薦下我自己建的Python開發學習群:628979297,群里都是學Python開發的,如果你正在學習Python ,小編歡迎你加入,今天分享的這個案例已經上傳到群文件,大家都是軟件開發黨,不定期分享干貨(只有Python軟件開發相關的),包括我自己整理的一份2018最新的Python進階資料和高級開發教程,歡迎進階中和進想深入Python的小伙伴
另一種用法,記錄某個函數被調用時候的參數和返回值:
import q
@q
def func(args):
pass
再來更黑科技一點的:
import q; q(2+3)
猜猜結果(不要在python shell里用,保存成文件執行)
看見沒,把 2+3 打印出來了