在python中实例化类 - 设置属性

时间:2010-12-26 22:53:44

标签: java python attributes constructor global

来自Java背景,我希望一个类具有某些属性并在构造函数中设置它们。

目前我使用的是global关键字 例如。

def class A():

 global attribute1
 global attribute2

 __init__():
  attribute1 = 1
  attribute2 = 2

有更好的方法吗?我问的原因是因为我不确定设置所有属性“全局”是否正确。

编辑:此外,每当我访问属性时,我都需要self.attribute ...这是必要的吗?即在java中你不需要this.attribute。

1 个答案:

答案 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来引用它。