python,如何;x";在代码中更改其值
我知道在第一个函数中,python,如何;x";在代码中更改其值,python,Python,我知道在第一个函数中,a=myFun(a,x)是900,但是为什么x=myFun(a,x),100?函数myFunc()中的名称x独立于全局名称x。它们生活在不同的名称空间中 因此,当您第一次调用myFunc(a,x)时,全局x值不变;它仍然是1000: a = 100 x = 1000 def myFun(a,b): x = b-a return x a = myFun(a,x) x = myFun(a,x) print(x+a) 如果您希望在调用myFunc()时更改全
a=myFun(a,x)
是900
,但是为什么x=myFun(a,x)
,100
?函数myFunc()
中的名称x
独立于全局名称x
。它们生活在不同的名称空间中
因此,当您第一次调用myFunc(a,x)
时,全局x
值不变;它仍然是1000
:
a = 100
x = 1000
def myFun(a,b):
x = b-a
return x
a = myFun(a,x)
x = myFun(a,x)
print(x+a)
如果您希望在调用myFunc()
时更改全局x
,则需要明确告诉Python在函数中将x
视为全局:
>>> a = 100
>>> x = 1000
>>> def myFun(a,b):
... x = b-a
... return x
...
>>> myFun(a,x)
900
>>> x
1000
现在在函数中指定给x
,将设置全局名称x
:
def myFun(a,b):
global x
x = b-a
return x
函数
myFunc()
中的名称x
独立于全局名称x
。它们生活在不同的名称空间中
因此,当您第一次调用myFunc(a,x)
时,全局x
值不变;它仍然是1000
:
a = 100
x = 1000
def myFun(a,b):
x = b-a
return x
a = myFun(a,x)
x = myFun(a,x)
print(x+a)
如果您希望在调用myFunc()
时更改全局x
,则需要明确告诉Python在函数中将x
视为全局:
>>> a = 100
>>> x = 1000
>>> def myFun(a,b):
... x = b-a
... return x
...
>>> myFun(a,x)
900
>>> x
1000
现在在函数中指定给x
,将设置全局名称x
:
def myFun(a,b):
global x
x = b-a
return x
函数
myFunc()
中的名称x
独立于全局名称x
。它们生活在不同的名称空间中
因此,当您第一次调用myFunc(a,x)
时,全局x
值不变;它仍然是1000
:
a = 100
x = 1000
def myFun(a,b):
x = b-a
return x
a = myFun(a,x)
x = myFun(a,x)
print(x+a)
如果您希望在调用myFunc()
时更改全局x
,则需要明确告诉Python在函数中将x
视为全局:
>>> a = 100
>>> x = 1000
>>> def myFun(a,b):
... x = b-a
... return x
...
>>> myFun(a,x)
900
>>> x
1000
现在在函数中指定给x
,将设置全局名称x
:
def myFun(a,b):
global x
x = b-a
return x
函数
myFunc()
中的名称x
独立于全局名称x
。它们生活在不同的名称空间中
因此,当您第一次调用myFunc(a,x)
时,全局x
值不变;它仍然是1000
:
a = 100
x = 1000
def myFun(a,b):
x = b-a
return x
a = myFun(a,x)
x = myFun(a,x)
print(x+a)
如果您希望在调用myFunc()
时更改全局x
,则需要明确告诉Python在函数中将x
视为全局:
>>> a = 100
>>> x = 1000
>>> def myFun(a,b):
... x = b-a
... return x
...
>>> myFun(a,x)
900
>>> x
1000
现在在函数中指定给x
,将设置全局名称x
:
def myFun(a,b):
global x
x = b-a
return x
为什么它不应该返回100?您传入了
a
(900)和x
(全局,而不是本地,不变为1000)。为什么不返回100?您传入了a
(900)和x
(全局,而不是本地,不变为1000)。为什么不返回100?您传入了a
(900)和x
(全局,而不是本地,不变为1000)。为什么不返回100?您传入了a
(900)和x
(全局,而不是本地,在1000处不变)。