第一段
def average(*args):
sum = 0.0
if len(args) == 0:
return sum
for x in args:
sum = sum + x
return sum / len(args)
第二段
def average(*args):
sum = 0.0
if len(args) == 0:
return sum
for x in args:
sum = sum + x
return sum / len(args)
同样调用
print(average())
print(average(1, 2))
print(average(1, 2, 2, 3, 4))
很明显在无实参的情况下,它们的表现结果一样,都是 0.0。但是有参数的情况下,第一段代码,始终是用第一个实参值除以参数个数,求商。而第二段代码,则是求多个参数和的平均值。区别在于,第一个段在进行一次循环后就直接跳出了。而第二段则不然。你需要关注的是,python 代码是通过缩进规范作用域。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。