为具有相同名称的全局变量分配参数

Ste*_*han 4 python scope arguments global

如何将函数参数分配给具有完全相同名称的全局变量?

注意: 我不能这样做,self.myVariable = myVariable因为我的函数不在类中.

在编写以下代码时,我收到一条错误消息,说"参数既是本地的,也是全局的".

myVar = 1
def myFunction(myVar):
    global myVar
Run Code Online (Sandbox Code Playgroud)

这不可能吗?如果是这样在其他语言中不常见?来自java我习惯了this.myVar = myVar

编辑我已经知道我可以重命名变量.这是最简单的方法.

use*_*ica 7

最佳解决方案:重构您的代码.重命名某些内容,或使用具有对象属性的对象而不是全局变量.

另类,hacky解决方案:直接修改全局变量dict:

my_var = 1
def my_function(my_var):
    globals()['my_var'] = my_var
Run Code Online (Sandbox Code Playgroud)