【发布时间】:2020-09-03 11:54:38
【问题描述】:
我正在使用 Python3。
假设我们有四个函数,a, b, c 和 d。现在假设调用栈如下:
a 调用b,后者调用c,后者调用d。函数d 计算一个参数x,稍后在函数a 中需要它,但除此之外,x 与b 和c 完全无关。
我的问题是,“获取”变量 x 以运行 a 的最佳方法是什么。直观地说,我可以让所有函数也返回x,这样x 就可以在函数a 中访问。但是,这感觉很“糟糕”,因为参数x 与其他函数完全无关。我可能会使用指针吗?我只是想知道解决这种情况的最专业的方法。
【问题讨论】:
-
试一试,向我们展示您的尝试,然后我们可以为您提供帮助。
-
也许您可以将 x 分配给全局变量?虽然,根据具体情况,这可能是一个伟大的想法,也可能是一个糟糕的想法......
-
a没有直接调用d,所以如果我们可以假设b和c为d做了一些必要的事情,他们已经知道它们是中间函数并传播它们的回去工作就好了。如果这些东西都高度耦合,它们都可以成为一个类的一部分,实现不同的位。 -
你需要解释清楚
-
“这感觉很“糟糕”,因为参数 x 与其他函数完全无关” 如果确实如此,这通常表明函数之间的工作分配方式存在问题。没有一个真实的例子很难给出建议。
标签: python function return call