Python引用基于另一个变量的变量
我正在做一个基于文本的小游戏,我想要一个函数,它将创建一个带有坐标的变量,我可以稍后调用它来绘制图形。以下是我所拥有的:Python引用基于另一个变量的变量,python,Python,我正在做一个基于文本的小游戏,我想要一个函数,它将创建一个带有坐标的变量,我可以稍后调用它来绘制图形。以下是我所拥有的: def addObject(name, x, y): global name = [x,y] addObject(Home, 3,3) print(Home) 我想稍后绘制它。不过,这正是我遇到的问题。这里有一些东西似乎可以满足您的需求 def addObject(name, x, y): globals()[name] = [x,y] addObject
def addObject(name, x, y):
global name = [x,y]
addObject(Home, 3,3)
print(Home)
我想稍后绘制它。不过,这正是我遇到的问题。这里有一些东西似乎可以满足您的需求
def addObject(name, x, y):
globals()[name] = [x,y]
addObject('Home', 3,3)
print(Home)
注意:需要调用
addObject
,名称为字符串。从函数的定义来看,它似乎在某处添加了一个对象,但函数引用了一个全局
,然后分配给它(语法错误)。您发送的Home
是什么?它在任何地方都没有定义。“我不知道你到底想做什么。”TigerhawkT3我想他有压痕问题。请看Marein的答案。公平地说,缩进问题实际上是由一位编辑添加的。请参阅。这是一个非常糟糕的主意。全局变量不仅速度慢,而且会产生维护问题。公平地说,对编辑(我)来说,原始版本根本没有缩进。这个问题和代码仍然毫无意义,尽管由于上面的语法错误而永远不会发生的悬而未决的问题现在已经被消除了。哦,谢谢你,这正是我想要的!对不起,我是新来的,没问题。正如我在评论中所说的那样,在任何使用任何编程语言的非平凡程序中,全局变量都被普遍认为是一个坏主意。python中的全局变量启动速度较慢。@user3666755-如果这是您正在寻找的答案,请单击复选标记“接受”它。这不是必需的,但是这样,下一个有相同问题的人就会知道这个解决方案正是您所寻找的。这也给了你和发布答案的人一些声誉。