关于global函数
b = 50c =100
def a(b,c):
global b
global c
b = 100
c = 50
a(b,c)
print('输出全局变量b:{}'.format(b))
print('输出全局变量c:{}'.format(c))
print('输出global变量b:{}'.format(b))
print('输出global变量c:{}'.format(c))
这里报错:“name 'b' is parameter and global”
是什么意思?为什么?怎么改? 你把b,c当成参数传入了,就已经可以操作,不需要global了
而且,global是关键字,不是函数。 而且我发现把两个a(b,c)中的b,c去掉就可以运行了,为什么? qiuyouzhi 发表于 2020-4-17 19:54
你把b,c当成参数传入了,就已经可以操作,不需要global了
而且,global是关键字,不是函数。
我的意思是要把b和c变成全局变量,网上的解释是global作用的变量不能在子函数中传递,这里的子函数指的是哪里? HirasawaYui 发表于 2020-4-17 20:05
我的意思是要把b和c变成全局变量,网上的解释是global作用的变量不能在子函数中传递,这里的子函数指的是 ...
不清楚。
总之,要么传参,要么global。 你的形参和实参是一个。
python不能这么赋值。 HirasawaYui 发表于 2020-4-17 20:05
我的意思是要把b和c变成全局变量,网上的解释是global作用的变量不能在子函数中传递,这里的子函数指的是 ...
把他当参数传进去就相当于global了
子函数应该是指内嵌函数吧
内嵌函数用nonlocal
页:
[1]