通过"动态"函数之间的变量

时间:2016-06-06 16:57:58

标签: python-2.7

我有我想要执行的主脚本,或者作为模块加载或导入。这个文件可能包含我以后会更改的所有INPUT变量(a,b,c)(所以将这些变量放在额外的脚本中会更好吗?)。 这些变量被传递给第一个函数。函数一应该将他的结果添加到我之前提到的变量中,因为函数二需要我在开头提到的变量以及函数一的附加结果。 现在我想更改我在开头提到的变量(a,b,c)并再次执行相同的过程。我似乎无法找到一种方法来更新这些变量"动态"一旦我保存了包含变量的文件。这意味着只要输入sum(di),它的结果就应该基于新值。 几个星期前我开始学习python,所以我很感激你所做的每一段代码或建议。

one.py:

from one.tools.two import sum
from one.tools.two import avg
a=1
b=2
c=3

di={'INPUT':{
        'a':a,'b':b,'c':c},
    'OUTPUT':{}
                }

two.py

def sum(x):
    sum = x['INPUT']['a']+x['INPUT']['b']+x['INPUT']['c']
    x['OUTPUT']['sum']=sum
    return sum

def avg(x):
    avg = x['OUTPUT']['sum']/3
    x['OUTPUT']['avg']=avg
    return avg

文件夹结构:

- 主要文件夹': init .py,one.py

- 子文件夹'工具': init .py,two.py

我运行one.py

sum(di)
6
avg(di)
2

现在我打开文件一并更改可变数据并保存文件:a,b,c = 4,5,6 但是,保存过程当然不会更新函数sum或avg中的变量: 我想得到的是:

sum(di)
15
avg(di)
5

0 个答案:

没有答案