Python: 如何让变量在不同的函数中保持一致?
Python: How to make variables consistent throughout different functions?
我仍在学习如何在 Python 中编程,我只是想知道如何使变量在不同的函数中保持一致。例如,我修改了一个变量的函数。然后,我在另一个函数中再次使用了该变量。如何使修改后的变量出现在第二个函数中?当我尝试时,第二个函数使用变量的原始值。如何让它使用修改后的值?我需要为此使用全局变量吗?
另外,input()函数是否推荐在函数内部使用?在他们体内使用它有任何副作用吗?
使用global变量在整个代码中访问变量。
演示:
>>> a = 10
>>> def test():
... global a
... a = a + 2
...
>>> print a
10
>>> test()
>>> print a
12
>>>
在 class 中,使用 class 变量,该变量可以访问 class 的所有实例。或使用实例变量,它只能访问 class.
的相应实例
函数中可以使用return
。
x = 3
def change1():
x = 5
return x
x = change1()
def change2():
print(x)
change1()
change2()
您可以在函数顶部使用 global 关键字让 python 知道您正在尝试修改全局分数中的变量。或者,您可以使用 OOP 和 classes 在整个 class 函数中维护一个实例变量。
x = 5
def modify():
global x
x = 3
modify()
变量需要由两个函数共有的范围共享,但这不一定是全局范围。例如,您可以将它们放在 class:
class MyClass:
def __init__(self):
self.x = 10
def inc(self):
self.x += 1
def dec(self):
self.x -= 1
mc = MyClass()
print mc.x # 10
mc.inc()
print mc.x # 11
mc.dec()
print mc.x # 10
变量应该存在的确切范围取决于您要执行的操作,这在您的问题中并不清楚。
我仍在学习如何在 Python 中编程,我只是想知道如何使变量在不同的函数中保持一致。例如,我修改了一个变量的函数。然后,我在另一个函数中再次使用了该变量。如何使修改后的变量出现在第二个函数中?当我尝试时,第二个函数使用变量的原始值。如何让它使用修改后的值?我需要为此使用全局变量吗?
另外,input()函数是否推荐在函数内部使用?在他们体内使用它有任何副作用吗?
使用global变量在整个代码中访问变量。
演示:
>>> a = 10
>>> def test():
... global a
... a = a + 2
...
>>> print a
10
>>> test()
>>> print a
12
>>>
在 class 中,使用 class 变量,该变量可以访问 class 的所有实例。或使用实例变量,它只能访问 class.
的相应实例函数中可以使用return
。
x = 3
def change1():
x = 5
return x
x = change1()
def change2():
print(x)
change1()
change2()
您可以在函数顶部使用 global 关键字让 python 知道您正在尝试修改全局分数中的变量。或者,您可以使用 OOP 和 classes 在整个 class 函数中维护一个实例变量。
x = 5
def modify():
global x
x = 3
modify()
变量需要由两个函数共有的范围共享,但这不一定是全局范围。例如,您可以将它们放在 class:
class MyClass:
def __init__(self):
self.x = 10
def inc(self):
self.x += 1
def dec(self):
self.x -= 1
mc = MyClass()
print mc.x # 10
mc.inc()
print mc.x # 11
mc.dec()
print mc.x # 10
变量应该存在的确切范围取决于您要执行的操作,这在您的问题中并不清楚。