我正在尝试编写一个程序,其中包含用于不同计算的众多函数,所有这些函数都涉及元组,并且由main()控制
功能基本上是这样的:
def open_file()
def read_file()
def get_data()
def calculate_info()
def display_info()
def main()
open_file()
read_file()
get_data()
calculate_info()
display_info()
main()
令我困惑的是如何将它们链接在一起。例如,我希望read_file()读取open_file()返回的内容,get_data()以从read_file()返回的内容中获取我想要的内容等。
我的问题是实际应该返回什么,以及如何确保下一个函数使用前一个函数返回的内容?与此相关,括号中有什么内容?
答案 0 :(得分:2)
您可以使用类似的东西来处理python中的元组
def open_file(*file):
return ("test", "test2")
def read_file(*file):
return ("test", "test2")
def get_data(data1, data2):
return ("test", "test2")
def calculate_info(*data):
return (8, 10, 14)
def display_info(*data):
print data
def main()
(k,l) = open_file()
(m,n) = read_file(k,l)
(o,p) = get_data(m,n)
(q,r,s) = calculate_info(o,p)
display_info(q,r,s)
main()
使用*运算符在python中将元组指定为参数。返回时返回一个元组,并将它们保存为单个变量之类的 x = open_file()
或 (p,q)= open_file()
答案 1 :(得分:1)
一个选项是保留函数的引用并在循环内调用它们。例如:
def foo(x):
return x+1
def bar(x):
return x+2
funcs = [foo, bar]
a = 0
for f in funcs:
a = f(a)
print(a)
如果您需要更多控制权,请查看command-pattern。