我在我的Python脚本中创建了多个变量的函数,我想在其他函数中使用它们。我想为此使用global
,但我认为这将是不正确的做法。使所有变量全局
那么谁能告诉我什么是在其他函数的函数中创建变量的最佳方法?
我在我的Python脚本中创建了多个变量的函数,我想在其他函数中使用它们。我想为此使用global
,但我认为这将是不正确的做法。使所有变量全局
那么谁能告诉我什么是在其他函数的函数中创建变量的最佳方法?
将变量组织成class。在一个函数中实例化该类,然后将该实例传递到需要它的任何位置。
经验法则:如果在某个时候让全局看起来像是一个很好的解决方案,那就不要这样做。总有一个更好的方法。
这可能是实施课程的好地方。这有很多好处。。
您可以创建一个“命名”的对象 - 一个对象,它充当一个命名空间,让您的全局命名空间的目的明确:
class namespace():
pass
global_data=namespace()
def add_attributes(obj):
obj.foo="bar"
add_attributes(global_data)
print (global_data.foo) #prints "bar"
然而,这仅仅是比使用global关键字稍好。你真的想要保罗所提到的一堂课。
声明变量作为函数的属性。
def f1():
f1.a=100
f2.b=200
def f2():
print(f1.a,f2.b)
f1()
f2()
输出:
100 200
是否有优势,这样做,而不是一类? – beardc
@BirdJaguarIV如果不擅长/熟悉面向对象的方法,可以使用它。 –