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也是短路运算
时间: 2024-10-06 14:19:19