Function 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

请帮帮我。我正在努力学习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作为你函数的参数
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
未更改,打印在最后一行。谢谢。现在我明白了。让我哑口无言。很容易。