我想知道如果我只对它返回的变量中的一个(或少于总数)感兴趣,我是否可以阻止我的函数完成其所有例程。
为了阐明,假设我有一个具有(元组)多个返回的函数:
def func_123(n):
x=n+1
y=n+2
z=n+3
return x,y,z
如果我只对第三个值感兴趣,我可以这样做:
_,_,three = func_123(0)
但我想知道它在函数中是如何工作的。
我的函数是否执行了三个计算,然后才选择“删除”前两个并给我我想要的那个,或者它是否认识到如果它只执行返回我想要的值所需的子例程,它可以做更少的工作?如果是第一种,有没有办法解决这个问题(当然,除了为每个计算创建函数并放弃一个独特的函数来组织所有子例程)?