如何在类中的方法之间传递变量?
像这样,作为一个论点:
class Yadayada:
def foo(self):
for i in somelist:
pass_var = i * blah blah blah
output = self.bar(pass_var)
def bar(self,pass_var):
a= pass_var * whatever
return a
或者像这样,把它存储在一个变量中?在
^{pr2}$
最好的方法是什么?为什么?或者这有关系吗?
注意:我不会在其余代码中使用变量pass_var。在
Tags:
这是一个设计决定。将其作为参数传递将在该函数的生命周期内保持传递的值。将它作为一个属性存储在对象上,将在实例的生命周期中保留它——这可能要长得多。在
您应该扪心自问,这个值有助于描述实例还是实例拥有的东西?-如果这两种情况中有一种是真的,那么就保存它。在
如果它只是用来计算一个值的东西(听起来是这样的),那么就没有理由存储它了。存储它意味着您希望以后使用它。在
如果不确定,请在将值传递给函数时出错。这减少了出错的机会(在类上没有设置值时调用函数),并且减少了正在使用的内存量。在
相关问题 更多 >
编程相关推荐