我还在开始如何用Python编程,我只是想知道如何在不同的函数中使变量保持一致。例如,我所做的功能修改了一个变量。然后,我在另一个函数中再次使用了该变量。如何使修改后的变量出现在第二个函数中?当我尝试它时,第二个函数使用变量的原始值。如何让它使用修改后的值?我需要为此使用全局变量吗?
另外,建议在函数内部使用input()函数吗?在它们内部使用它有任何副作用吗?
答案 0 :(得分:1)
变量需要由两个函数共有的范围共享,但这不一定是全局范围。例如,你可以将它们放在一个类中:
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
变量应该存在的确切范围取决于您尝试做的事情,而您的问题并不清楚。
答案 1 :(得分:0)
使用 global 变量来访问整个代码中的变量。
演示:
>>> a = 10
>>> def test():
... global a
... a = a + 2
...
>>> print a
10
>>> test()
>>> print a
12
>>>
在类中,使用类变量来访问该类的所有实例。或者使用只能访问类的相应实例的实例变量。
答案 2 :(得分:0)
您可以在函数中使用return
。
x = 3
def change1():
x = 5
return x
x = change1()
def change2():
print(x)
change1()
change2()
答案 3 :(得分:0)
您可以使用函数顶部的global关键字让python知道您正在尝试修改全局分数中的变量。或者,您可以使用OOP和类在类函数中维护实例变量。
x = 5
def modify():
global x
x = 3
modify()