来自Java背景,我希望一个类具有某些属性并在构造函数中设置它们。
目前我使用的是global关键字 例如。
def class A():
global attribute1
global attribute2
__init__():
attribute1 = 1
attribute2 = 2
有更好的方法吗?我问的原因是因为我不确定设置所有属性“全局”是否正确。
编辑:此外,每当我访问属性时,我都需要self.attribute ...这是必要的吗?即在java中你不需要this.attribute。
答案 0 :(得分:4)
执行此操作的正确方法是将属性添加到构造函数并将其添加到您的实例上。
>>> class A(object):
... def __init__(self, attribute1, attribute2):
... self.attribute1 = attribute1
... self.attribute2 = attribute2
...
>>> a = A(1, 2)
>>> a.attribute1
1
>>> a.attribute2
2
至于你的第二个问题,是的,你需要在实例中使用self.attribute
来引用它。