3 回答
TA贡献2012条经验 获得超12个赞
您应该尽可能避免修改或直接迭代函数。在这种情况下,最好的办法是添加一个布尔参数来function1指定要运行的函数版本。它看起来像这样:
def function1(isFirstTime):
if isFirstTime:
# do stuff the first time
pass
else:
# do stuff the second time
pass
然后您可以迭代这些函数:
data_generating_function()
for b in (True, False):
function1(b)
function2()
function3()
# ...
TA贡献1906条经验 获得超10个赞
只需迭代第一个函数的两个选择:
data_generating_function() for func1 in (function1a, function1b): func1() function_2() function_3() function_4() function_5()
TA贡献1799条经验 获得超6个赞
如果我误解了这个问题,我深表歉意,但你能不能执行以下操作:
单元格 1:
# define all functions
单元 2:
dataset = data_generating_function()
单元 3:
# Run version 1 of function 1 on dataset
result_1_1 = function_1_v1(dataset)
result_2_1 = function_2(result_1_1)
result_3_1 = function_3(result_2_1)
function_4(result_3_1)
单元 4:
# Run version 2 of function 1 on dataset
result_1_2 = function_1_v2(dataset)
result_2_2 = function_2(result_1_2)
result_3_2 = function_3(result_2_2)
function_4(result_3_2)
该解决方案假设:
您定义带有返回值的函数
传递结果并不“昂贵”
如果不是后者,您也可以将结果保留在文件中。
为了减少 function_1 中的代码重复,您可以添加一个在两个版本之间切换的参数。
添加回答
举报