2
如何從__init__
內部調用Python(v2.7)setter屬性?我寫了下面的課,但我不知道如何改變它使其工作。我得到一個AttributeError: 'test' object has no attribute '_x'
異常。這裏有幾個類似的問題,但迄今爲止還找不到答案。我們的想法是,當初始化器被調用,以做一些處理/切片和分配結果的屬性從__init__在Python中調用setter
class test(object):
def __init__(self, a,b):
self._x = self.x(a,b)
@property
def x(self):
return self._x
@x.setter
def x(self, a, b):
self._x = "Get this from {} and make a dataframe like {}".format(a,b)
啊我看!非常好,現在工作很好,非常感謝。我的IDE Pycharm抱怨說實例屬性_x是在__init__之外定義的,我已經在初始化程序中將它指定爲None,然後用'self._x = None'調用setter。我想這就好了,對吧? – Aenaon
@Aenaon如果將'__init__'函數改爲使用'self._x = self.x =(a,b)'行而不是將其實例化爲'None',它可能會看起來更漂亮。 –
謝謝Jared,很好! – Aenaon