Skip to main content
 首页 » 编程设计

python之在没有字典的情况下在 Python 中返回许多变量

2025年05月04日9itcoder

<分区>

我有一个函数 compute_params(),它计算我想在另一个函数中使用的许多变量,比如 main_func()。目前,我的代码类似于:

def compute_params(i): 
    a = i/2 
    b = a + 2. 
    c = 2*a/b - 1. 
    d = a + b + c 
    e = ((a + 1.)**2 - d)/c 
    # ...and so on with more complex computations and more variables. 
 
    return a, b, c, d, e 
 
def main_func(imax): 
    for i in range(imax): 
        a, b, c, d, e = compute_params(i) 
        # Do something with a, b, c, ... 

我的问题是:

  • 考虑到速度问题,返回并获取 5、10 个变量(或者在我的现实生活中的函数中更多)是否有问题?
  • 如果第一个问题的答案是肯定的,考虑到我需要在 main_func() 中保留真实的变量名称(以把它们放在大方程式中)?

注意:只是为了理解我为什么要这样做,我的函数 compute_params() 在我的代码中的不同地方使用,这就是为什么它的内容没有直接包含在 main_func( )。

编辑 以回答我的几个建议:我想避免使用类或字典,因为 (1) 我的变量唯一的共同点是在同一个方程式中有用,因此有没有合乎逻辑的理由将它们分组到一个对象中,最重要的是 (2) 因为这些系数在已经很难阅读的复杂方程中出现数百次,所以我想避免像 params.a + params.b/这样的东西params.c 我目前简单地写了 a + b/c。