and or判别

and 和 or涉及到短路运算,python把0,'',none看做false,其余是true,

对于a and b,若a是true则,返回b,若a是false则返回a(因为a是true还需要判断b,a是false则不再需要判断b)

对a or b ,如a是true则返回a,若a是false则返回b

def average(*args):
    return len(args) and sum(args)/float(len(args)) or 0.0

print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)

此题求平均数,就是很好的逻辑

注:*args代表可变参数

另外if也是短路运算

 

posted on 2015-05-22 19:46  学渣的成长之路  阅读(145)  评论(0编辑  收藏  举报

导航