dws*_*ein 1 python arguments class function
如果我有一个功能:
def foo(self, a, b):
c = a + b
return c
Run Code Online (Sandbox Code Playgroud)
如何在不更改函数中的c的情况下调用foo?所以让我说我在另一个函数中调用foo:
def bar(self):
z = self.foo(2, 4)
return (z)
Run Code Online (Sandbox Code Playgroud)
然后我想在一个单独的函数中再次调用foo,但是我想要从'bar'调用时间c.
def baz(self):
self.foo(?, ?) # trying to just get c, without any changes.
Run Code Online (Sandbox Code Playgroud)
基本上,我试图在课堂上保留一个帐户,以便其他班级可以访问同一个帐户; 只是一个简单的平衡,添加和减去钱.
谢谢.
存储c
为类变量或全局变量并覆盖函数以返回旧值.
例如
class SomeClass:
def foo(self, a=None, b=None):
if a and b:
c = a + b
self.stored_c = c
return c
return self.stored_c
Run Code Online (Sandbox Code Playgroud)
注意:您必须处理何时更新stored_c
以及任何并发问题.
更新:WRT glglgl的评论,更新了方法重载.