python-3.x - 对以下代码的输出感到困惑
问题描述
def double(n):
global y
y = 2 * n
y = 5
double(y)
print(y)
对输出感到困惑,为什么它是 10 而不是 5?
解决方案
global 关键字允许用户在当前范围之外修改变量,因此当使用 global y 时,y 会在函数之外更改。如果删除全局关键字,则输出将为 5。
推荐阅读
- python-2.7 - 为什么我的代码在空闲状态下运行而不在 vim 中运行?
- php - 尝试在 phpMyAdmin 中创建表时出现“预期符号名称”错误
- django - 就像评论中的一样不起作用并返回json页面响应`{“a_c_like”:true}`
- keycloak - Keycloak:身份验证后从 JSON API 检索属性
- qlikview - 如何从下表中获得不同的价值图表?[Qlik 感知]
- javascript - 在分页上继续计数序列号
- php - 为什么浏览器中不显示标题信息
- c++ - C ++:在主函数与全局范围中使用指令语句
- java - 有没有办法在 build.gradle 之外定义任务类?
- java - 当char是空格时如何比较而不得到负值