所以我有这个代码,我叫我笨蛋哈哈,但我不能让这个打印没有7。
代码:
def function(parameter):
parameter = parameter + 1
parameter = 6
print(function(parameter))
print(parameter == 7)我需要知道如何更改与函数中的参数同名的变量。
任何帮助都是非常感谢的,如果你不理解这个问题,我很乐意解释更多。
发布于 2017-11-04 07:21:51
它打印None,因为您的function()不返回任何内容。
它打印False是因为parameter (当前为6)不等于7。
要更改被局部变量屏蔽的全局变量,请使用globals()函数:
def function(parameter):
globals()['parameter'] += 1发布于 2017-11-04 07:24:52
因为我真的讨厌全局变量,所以我会这样做:
def function(parameter):
return parameter + 1
parameter = function(6)
print(parameter)
print(parameter == 7)输出
7
True基本上,通过指定一个与参数同名的变量并分配函数,您可以更改parameter,就好像它是同一个变量一样。请注意,事实并非如此,它实际上不是同一个对象。但是,如果您的目标是使用相同的名称,那么它是可行的。
发布于 2017-11-04 07:16:53
将parameter定义为全局,并且不实际将其作为参数传递:
def function():
global parameter
parameter += 1https://stackoverflow.com/questions/47105636
复制相似问题