我建立具有其值在實例化是隨機生成的屬性的對象。該屬性會隨時分配一個新的值(也是隨機的),所以我正在定義一個方法來做到這一點。通過從__init__
內調用該方法來初始化屬性是否是不好的形式?這很容易避免 - 我只需要複製少量的代碼 - 但調用方法似乎更加優雅。這裏是一個例子:從該實例的__init__方法中調用實例方法是不是很糟糕的形式?
import random
class Robot(object):
def __init__(self):
self.setDirection()
def setDirection(self):
self.direction = random.random() * 360
不,這是不壞的形式這樣做。方法(setDirection)是一個幫助類的功能,如果它需要幫助類在init或任何其他階段實現其目的。 – 2013-02-11 15:29:01
可能重複:http://stackoverflow.com/questions/3091833/calling-member-functions-from-a-constructor – 2013-02-11 15:30:42
有不同的順序比預期正在得到初始化由於事情錯誤的機會,但只要因爲輔助方法不依賴於對象的任何狀態,所以你應該很好。 – millimoose 2013-02-11 15:32:59