global 声明全局变量的问题
本帖最后由 winhero 于 2020-4-13 20:14 编辑为什么在 func3() 函数里不能声明 var 是全局变量?
var = 'Hi'
def func1():
var = 'Baby '
return func2(var)
def func2(var):
var += "I love you"
print(var)
func3(var)
return var
def func3(var):
global var
var = '老污龟'
print(func1())
print(var)
运行后报错:name 'var' is pararmeter and global
为什么会报错
翻译:变量 'var' 在函数内既作为形参又作为全局变量 你不是声明了么? 因为赋值会覆盖,而不是修改其原来的值 heidern0612 发表于 2020-4-13 19:25
你不是声明了么?
声明不了,会报错 BngThea 发表于 2020-4-13 19:26
因为赋值会覆盖,而不是修改其原来的值
不太明白 本帖最后由 winhero 于 2020-4-13 20:03 编辑
报错:name 'var' is pararmeter and global
为什么会报错
翻译:变量 'var' 在函数内既作为形参又作为全局变量 BngThea 发表于 2020-4-13 19:26
因为赋值会覆盖,而不是修改其原来的值
谁被赋值了?赋值了什么?会覆盖什么?var吗?哪里有修改?原来的值指什么? winhero 发表于 2020-4-13 19:57
谁被赋值了?赋值了什么?会覆盖什么?var吗?哪里有修改?原来的值指什么?
你的函数形参中有var变量,在调用函数前必须有传递进来的值 不能global形参 永恒的蓝色梦想 发表于 2020-4-13 20:23
不能global形参
谢谢 ?????
你先不要发帖,你的回复被审核了
页:
[1]