python:如何在不更改参数的情况下调用函数?

标签 python class function arguments

如果我有一个函数:

def foo(self, a, b):
    c = a + b
    return c

如何在不更改函数中的 c 的情况下调用 foo?假设我在另一个函数中调用了 foo:

def bar(self):
    z = self.foo(2, 4)
    return (z)

然后我想在一个单独的函数中再次调用 foo,但我想要从调用“bar”时开始的 c。

def baz(self):
    self.foo(?, ?) # trying to just get c, without any changes.

基本上,我试图在类里面保留一个帐户,以便其他类(class)可以访问同一帐户;只是一个简单的天平,加减钱。

谢谢。

最佳答案

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

注意:您必须处理何时更新 stored_c 和任何并发问题。

更新:WRT glglgl 的评论,针对方法重载进行了更新。

关于python:如何在不更改参数的情况下调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12037908/

相关文章:

python - 同时使用 Conda、PIP 和 Jupyter Notebook 的路径困惑

php - 在类声明中使用外部对象 - PHP

php - 计算查询中的行数

objective-c - 覆盖父类(super class)的指定初始化程序

javascript - 从函数 jquery 内的函数获取值

c - linux-我如何使用 C 中的 execlp 函数运行任何带参数的命令

Python 变量的参数

Python:type() 给出空白结果

python - Applescript 包和 Python

php - 在 WordPress 中将类方法作为回调函数传递