Fw: [翻譯] Google 建議的 Python 風格指南 15
※ [本文轉錄自 Python 看板 #1HYVFfnn ]
作者: ck574b027 (荒圍!定厝!賊!妹!) 看板: Python
標題: [翻譯] Google 建議的 Python 風格指南 15
時間: Wed May 8 14:42:45 2013
原文網址:http://google-styleguide.googlecode.com/svn/trunk/pyguide.html
不建議使用的python語法
呼叫string內建的方法而不是module string的方法。
# 官方文件也是如此推薦的。
words = foo.split(':')
words = string.split(foo, ':')
使用呼叫函數的新語法而不是內建的apply。
# 這已經是版本2.3時代的事了。
fn(*args, **kwargs)
apply(fn, args, kwargs)
'''
*args表示可以傳入不定長度的參數,如
def fn(*args):
print args
fn(1,2,3) # print (1, 2, 3)
a = [1,2,3]
fn(*a) # 輸出同上
**kwargs表示傳入關鍵字參數,是個字典(dictionary),如
def fn(**kwargs):
print kwargs
fn(a=3,b=5) # print {'a': 3, 'b': 5}
'''
當filter和map的參數只是個單行lambda的時候,用list comprehensions取代。
[x[1] for x in my_list if x[2] == 5]
map(lambda x: x[1], filter(lambda x: x[2] == 5, my_list))
map(math.sqrt, data) # Ok. 因為不需要lambda。
用for取代reduce。
(這個沒有範例,大概是reduce很容易改寫。
我的看法是沒有需要平行運算的話就少用reduce。)
釋義:
現在的版本提供大家普遍認為比較好看的語法。
結論:
我們不採用不支援這些特性的老版本,所以沒理由寫老語法。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.196.214
推
05/08 16:45, , 1F
05/08 16:45, 1F
→
05/08 16:45, , 2F
05/08 16:45, 2F
→
05/08 16:46, , 3F
05/08 16:46, 3F
→
05/08 16:46, , 4F
05/08 16:46, 4F
→
05/08 16:46, , 5F
05/08 16:46, 5F
→
05/08 16:46, , 6F
05/08 16:46, 6F
→
05/08 16:47, , 7F
05/08 16:47, 7F
→
05/08 16:47, , 8F
05/08 16:47, 8F
→
05/08 16:48, , 9F
05/08 16:48, 9F
→
05/08 16:48, , 10F
05/08 16:48, 10F
→
05/08 16:49, , 11F
05/08 16:49, 11F
→
05/08 16:49, , 12F
05/08 16:49, 12F
→
05/08 16:49, , 13F
05/08 16:49, 13F
→
05/08 16:50, , 14F
05/08 16:50, 14F
→
05/08 16:51, , 15F
05/08 16:51, 15F
推
05/08 17:11, , 16F
05/08 17:11, 16F
→
05/08 17:13, , 17F
05/08 17:13, 17F
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: ck574b027 (140.109.196.214), 時間: 05/10/2013 14:34:54
Translate-CS 近期熱門文章
PTT數位生活區 即時熱門文章