例子如下:
def fun(x1,y):
global y
t=x1
x1=y
y=t
if __name__=="__main__":
x=0
y=1
fun(x,y)
print(x,y)
运行结果如下;
这里有个错误,y是参数又是全局的
找了好久,在这里找到了
https://stackoverflow.com/questions/18807749/name-x-is-parameter-and-global-python
这是因为
全局语句中列出的名称不能定义为形式参数,也不能定义为 for循环控制目标,类定义,函数定义或import语句。
把global y 放到函数外面定义就行了或者把参数改为y1
def fun(x1,y1):
global y
t=x
x1=y1
y=t
x=0
y=1
fun(x,y)
print(x,y)