有时候,当我为需要对某个变量起作用的类设计一个新方法时,我不能说将这个变量作为方法参数传递是更好还是将这个变量另存为实例属性更好并在方法内部使用它。两种方法的优点/缺点是什么?
class A:
def __init__(self, data):
self.data = data
def my_method(self):
# does something with self.data
或
class B:
def my_method(self, data):
# does something with data
答案 0 :(得分:1)
这取决于课程可能要做的所有其他事情。
通常,您的类封装的抽象是什么?
是否需要data
进行大量操作,还是仅此一项? data
会改变吗?如果data
是此类的“点”,则它可能应该在__init__
中,但是如果它使用data
对对象执行 操作,那么可能不会。
我们需要了解更多。...