编码 :
price = 0
def change_price():
price = 1
def show_price():
print(price)
change_price()
show_price()
show_price
返回 0。我需要更改并保存一个变量,我该怎么做?为什么变量没有保存?如果用 表示price = 1
,show_price
它将返回 1。
我不懂python,它是如何工作的?
编码 :
price = 0
def change_price():
price = 1
def show_price():
print(price)
change_price()
show_price()
show_price
返回 0。我需要更改并保存一个变量,我该怎么做?为什么变量没有保存?如果用 表示price = 1
,show_price
它将返回 1。
我不懂python,它是如何工作的?
在函数中,
change_price
变量price
是局部变量,因为您没有说必须在全局范围内查找变量。为此,在更改变量之前,告诉解释器它是全局的:但是使用全局变量是非常糟糕的做法,应该避免。
在第二个函数中,变量也是首先在局部范围内查找,没有定位,然后才在全局范围内查找。
有 2 个选项。使用
global
(这不是好的做法)或者将变量作为函数参数传递并使用
return
: