我建立具有其值在实例化是随机生成的属性的对象。该属性会随时分配一个新的值(也是随机的),所以我正在定义一个方法来做到这一点。通过从__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