我正在写大量的代码,并且我没有足够的经验介绍在python类和函数中使用变量的最佳方式,所以我想我会问对于一些意见。下面是我怎么能做到这一点python - 在类和函数中使用变量的最佳实践
class MyClass():
vara = 'Class Variable A'
def __init__(self):
self.varb = 'Class instantiation Variable B'
def a(self):
varc = 2
vard = 3
print 'def a function variables unchanged', varc, vard
MyClass.vara = 'Class Variable A now changed by def a'
def b(self):
print self.varb
self.varb = 'Class instantiation Variable B now changed by def b'
print self.varb
if __name__ == "__main__":
print MyClass.vara
a = MyClass()
a.a()
a.b()
print MyClass.vara
a.a()
这给出了这样的结果
Class Variable A
def a function variables unchanged 2 3
Class instantiation Variable B
Class instantiation Variable B now changed by def b
Class Variable A now changed by def a
def a function variables unchanged 2 3
我的Django应用程序是使用一类具有大约25功能的示例。它是一个测试应用程序,每个函数代表一个API调用。每个API调用都会根据结果给出几个变量,并且我需要由函数设置的这些变量供其他函数使用 - 换句话说,我需要通过其他函数调用这些局部函数变量。我想知道做到这一点的最佳方式。
在上面的例子中,我可以使用类中的函数设置类变量vara,通过这样做MyClass.vara = 'something'
或者我可以设置实例化构造函数__init__
中的变量。然后我可以使用任何函数调用这些变量。
有什么更好的方法,还是有更好的方法来做到这一点?
好的..我想我会帮你。所以我可以使用一个对象创建很多实例。无论对象是否改变类变量,object.class变量都是相同的,但类的即时变量将独立于每个对象? – Oli