【发布时间】:2018-06-11 18:45:10
【问题描述】:
我正在使用 Codecademany(我是初学者。)我遇到了一个与命名参数有关的问题。没有错误,它做了我想要的,但我注意到在第 19 行它命名了参数variance,这是一个先前定义的变量。我想知道的是,当函数调用其参数和同名变量时会发生什么。它是调用变量还是参数?它是如何决定的?我该如何选择哪一个?
grades = [100, 100, 90, 40, 80, 100, 85, 70, 90, 65, 90, 85, 50.5]
def print_grades(grades_input):
for grade in grades_input:
print grade
def grades_sum(scores):
return sum(scores)
def grades_average(grades_input):
return grades_sum(grades_input) / float(len(grades_input))
def grades_variance(scores):
variance = 0
for score in scores:
variance += (grades_average(scores) - score) ** 2
return variance / len(scores)
def grades_std_deviation(variance):
return variance ** 0.5
【问题讨论】:
-
我认为这不是问题,因为
variance变量的范围 仅限于前一个函数。也就是说,从 Python 的角度来看,variance之前没有定义过。 -
变量将在函数范围内使用,而不是函数参数。 Python 标准表明了这种语义。您可以通过在函数中将参数和变量命名为不同的名称来控制它。
标签: python function variables parameters arguments