首页 > 解决方案 > 对以下代码的输出感到困惑

问题描述

def double(n):
   global y
   y = 2 * n

y = 5
double(y)
print(y)

对输出感到困惑,为什么它是 10 而不是 5?

标签: python-3.x

解决方案


global 关键字允许用户在当前范围之外修改变量,因此当使用 global y 时,y 会在函数之外更改。如果删除全局关键字,则输出将为 5。


推荐阅读