好吧,我目前正在做一个用 python 制作二十一点游戏的项目,但遇到了一些麻烦。我的问题之一是我不知道何时将变量定义为全局变量,特别是在带有 if 语句的函数中。如果我在 if 语句之外有一个全局变量,我是否必须声明该变量在 if 语句内也是全局的?例如:
x = 5
def add():
global x <--- ?
x += 1
if x == 7:
global x <--- ?
x = 5
我很确定我需要第一个问号处的“global x”,但是第二个问号处呢?如果我希望 if 语句更新全局变量,我是否还需要在 if 语句中添加“global x”?或者函数开头的全局 x 是否使 if 语句内的 x 成为全局的?另外,如果我想在这里返回x,我应该在哪里做呢?
只有一个global
声明就足够了。
From docs:
The global
声明是一个声明,它适用于整个
当前代码块。
x = 5
def add():
global x
x += 1
if x == 7:
x = 5
另外,如果我想在这里返回x,我应该在哪里做呢?
如果您正在使用global
在你的函数中然后return x
必须在之后global x
声明,如果您没有使用任何global
声明并且也没有定义任何局部变量x
然后你可以return x
函数中的任意位置。
如果您定义了局部变量x
then return x
必须位于定义之后。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)