函数的参数可以用作全局变量的占位符吗

时间:2019-02-11 18:11:53

标签: python variables global

我正在做一个小游戏。 我正在尝试构建一个开关功能,该功能仅应将全局变量形式从False更改为True。这样,我想控制播放器的进度。 我尝试将函数的参数用作我要切换的任何全局变量的占位符,但无法正常工作。

通过在函数中写入其特定名称来更改单个全局变量可以很好地工作。 我知道此更改将一直持续到程序关闭为止,但是我现在不在乎。 我现在想要的只是不要为我要切换的每个全局变量编写一个新函数。

v = False
y = False 
z = False

def switch(x):
    global x
    x = True

不起作用

2 个答案:

答案 0 :(得分:2)

这是字典的用途:

my_vars = dict( x=False, y=False, z=False )

def switch(x):
    global my_vars
    my_vars[x] = True

但是请牢记对您的问题的评论。

答案 1 :(得分:1)

在进入这个简单的问题之前,请先访问众多站点中的python和pygame帮助。

话虽这么说,先定义变量,然后再使用字典将其设置为true

myVars = {
'x': False
'y': 'egg'
#some more vars probable
}
#some code
myVars['x'] = True