【发布时间】:2015-04-30 14:02:52
【问题描述】:
所以test 和test2 做同样的事情,但前者通过返回一个值来实现,而后者通过设置一个成员变量来实现。
class test:
def __init__(self):
pass
def do(self):
val = self.doMore(5)
print val
def doMore(self, _v):
return _v * _v
class test2:
def __init__(self):
pass
def do(self):
self.doMore(5)
print self.val
def doMore(self, _v):
self.val = _v * _v
- 哪一种方法是正确的,为什么?
-
val变大时是否存在性能差异?
我在徘徊是因为有时我想从一个方法中挑出一个在概念上独立于父方法的较小任务;我觉得test2 更OOP,但另一方面,如果类中使用doMore 工作的唯一方法是do,我还不如保存一个成员变量?
【问题讨论】:
-
没有
test1。