Function Python中的一个简单数学';这对我来说很难
请帮帮我。我正在努力学习Python,我是一个非常初学者。我试着阅读和观看视频,但我不理解这个逻辑:Function Python中的一个简单数学';这对我来说很难,function,math,Function,Math,请帮帮我。我正在努力学习Python,我是一个非常初学者。我试着阅读和观看视频,但我不理解这个逻辑: def myFunction(y): x = y + y #Local print(x) return x x = 5 #Global myFunction(x) print(x) 我得到10和5的值 真的,我不明白为什么。这让我心碎。如果x等于5,那么第2行的结果不应该是2.5?我有5=y+y 我的脑子在转。请帮忙,你是我唯一的希望。你正在传递x作为你函数的参数myF
def myFunction(y):
x = y + y #Local
print(x)
return x
x = 5 #Global
myFunction(x)
print(x)
我得到10和5的值
真的,我不明白为什么。这让我心碎。如果x等于5,那么第2行的结果不应该是2.5?我有5=y+y
我的脑子在转。请帮忙,你是我唯一的希望。你正在传递x作为你函数的参数
myFunction()
。
因此,如果x=5
您将得到:
myFunction(5):
x = 5 + 5
return(x) #10
这就是你得到10分的原因。如果将x=5
更改为x=10
,您将看到函数的结果将是20,依此类推
您没有替换函数本身中的
x
。但是,您所述的x
实际上仍然是一个全局变量,因此将打印在第二行。如注释所示,x
内部myFunction
是该函数范围内的局部变量,与标记为全局的x
不同。调用myFunction(x)
时,将全局x
的值传递给函数。在函数内部,传递的值被赋予一个局部变量y
,用局部变量x
求和两次,并且正是这个x
被打印出来并返回其值。同时,全局x
未更改,打印在最后一行。谢谢。现在我明白了。让我哑口无言。很容易。