ここでシリーズ変数を使用できる理由がわかりません:
def calculate_mean():
series = []
def mean(new_value):
series.append(new_value)
total = sum(series)
return total/len(series)
return mean
ただし、ここでは count 変数と total 変数を使用できません (代入前に参照される変数)。
def calculate_mean():
count = 0
total = 0
def mean(value):
count += 1
total += value
return total/count
return mean
次のような非ローカル キーワードを使用する場合にのみ機能します。
def calculate_mean():
count = 0
total = 0
def mean(value):
nonlocal count, total
count += 1
total += value
return total/count
return mean
これは私が calculate_mean() を使用する方法です
mean = calculate_mean()
print(mean(5))
print(mean(6))
print(mean(7))
print(mean(8))