在构造函数体中编写'global varName'有什么用? 我的意思是我们可以通过写'self.varName'来达到同样的目标吗?例如
class Mine_Global:
def __init__(self):
global varName
varName = 3
self.newInsVar = 7
if __name__ == "__main__":
global varName
obj1 = Mine_Global()
print varName, obj1.newInsVar;
varName = varName + 2
print varName, obj1.newInsVar;
obj2 = Mine_Global()
print varName, obj2.newInsVar
答案 0 :(得分:1)
如果varName
谈论实例的属性,并且实例可能具有varName
的不同值,则使用self.var
。
如果varName
谈论模块,该模块的所有类和所有类的实例应该共享相同的varName
值,那么使用global varName