我自己,当我需要做两次以上的事情时,我迫不及待地想编写一个函数。但是,当涉及到仅出现两次的事情时,就会有些棘手。
对于需要两行以上的代码,我将编写一个函数。但是当面对这样的事情时:
print "Hi, Tom"
print "Hi, Mary"
我很犹豫地写:
def greeting(name):
print "Hi, " + name
greeting('Tom')
greeting('Mary')
第二个似乎太多了,不是吗?
但是,如果我们有:
for name in vip_list:
print name
for name in guest_list:
print name
这是替代方法:
def print_name(name_list):
for name in name_list:
print name
print_name(vip_list)
print_name(guest_list)
事情变得棘手,不是吗?现在很难决定。
您对此有何看法?
from itertools import chain; for name in chain(vip_list, guest_list): print(name)
。
Special cases aren't special enough to break the rules. Although practicality beats purity.
always
和never
红色标志。有一个叫做“上下文”的东西,其中always
和never
规则,即使总的来说很好,也可能不合适。当心那些绝对的软件开发人员。;)