这就是我想要达到的效果
Variable=0
Some_function(Variable)
print (Variable)
我想要输出1(或其他,但0)
我尝试使用全局通过定义some_function
这样,但它给了我一个错误名称'变量'是参数和全局';
def Some_function(Variable):
x=Variable+1
global Variable
Variable=x
您正在使用变量作为全局变量和函数参数。
试题:
def Some_function(Var):
x=Var+1
global Variable
Variable=x
Variable=0
Some_function(Variable)
print (Variable)
你不应该使用相同的参数和整体变量名称
错误信息似乎足够清晰。此外,如果使用全局变量,则不需要将Variable
作为参数传递。
如果你定义了
def f():
global x
x += 1
那么下面的脚本不应该输出错误:
x = 1 # global
f(x)
print(x) # outputs 2
另一种可能:
def f(y):
return y+1
可以这样使用:
x = 1
x = f(x)
print(x) # 2
如果你想修改全局变量,你不应该使用该名称作为函数参数。
var = 0
def some_func():
global var
var += 1
some_func()
print(var)
只需使用global
关键字并修改您喜欢的变量。
Variable = 0
def some_function(Variable):
global x
x = Variable + 1
some_function(Variable)
Variable = x
print(Variable)