[英]assigning variable prior to elif statement
这可能是非常基本的,但我没有任何线索
我的代码是这样的:
for tickers in ticklist:
if function_1(x,y) is True:
do task1
elif function_2(x,y) is True:
do task1
elif function_3(x,y) > a and function_3(x,y) < b:
do task1
else:
do task2
我知道这段代码相当于拥有:
for tickers in ticklist:
if function_1(x,y) is True or function_2(x,y) is True or function_3(x,y) > a and
function_3(x,y) < b:
do task1
else:
do task2
分成多行的原因是为了防止不必要的条件检查并节省循环时间,因为这里的每个 function 代表一个 api 调用(这需要相当多的时间)。 所以,我的目标是在一个条件为真时结束循环。 但是,在第三种情况下,相同的 function 被调用两次(这意味着调用 api 两次)。
...
elif function_3(x,y) > a and function_3(x,y) < b:
do task1
有没有办法在进入 elif 之前将 function 的返回值分配给变量,以便可以使用分配的变量检查条件,而不是两次转到 function。
就像是:
...
elif var = function_3(x,y)
if var> a and var < b:
do task1
我认为是这样的:
if func_1(x,y):
Task 1
elif func_2(x,y):
Task 1
else:
n = func_3(x,y)
if n>a and n<b:
Task 1
else:
Task 2
会为你工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.