首先:如果我在类中定义更新函数或者我可以执行以下操作是否重要:
class foo(object):
def __init__(self):
self.a = 1
def f(self,):
self.a = self.a**2 - self.a - 6
return self.a
第二:创建虚拟变量,执行操作并使用它来更新我的类变量更有益(节省内存,运行时等),还是实际上并不重要?
class foo(object):
def __init__(self):
self.a = 1
def f(self):
a = self.a
a = a**2-a-6
self.a = a
return self.a
在这个简单的例子中,我知道这没关系,但是当函数执行更多操作时,它会产生什么影响吗?
答案 0 :(得分:1)
我无法回答你的第一个问题,因为我完全不知道你在问什么。我不知道“更新功能”是什么意思,或者它与你展示的代码有什么不同。
然而,对于您的第二个,使用局部变量比使用属性稍快。在大多数情况下它并不重要,但如果你有一些代码需要尽可能快,你可以采取将属性值移动到局部变量的方法,在那里处理它,然后把它放回去在属性中。
正如Knuth所说,过早优化是所有邪恶的根源,所以在确定此代码导致真正的性能问题之前不要这样做。