def num1():
return [lambda x:x+i for i in range(3)] # 生成函数,并且函数已经执行,循环已经结束,i=2
print(num1()) # [<function num1.<locals>.<listcomp>.<lambda> at 0x000001A6AA9729D0>, <function num1.<locals>.<listcomp>.<lambda> at 0x000001A6AA972A60>, <function num1.<locals>.<listcomp>.<lambda> at 0x000001A6AA972AF0>]
result1 = [m(3) for m in num1()]
print(result1) # [5,5,5]
def num2():
return (lambda x:x+i for i in range(3)) # 生成生成器,函数未执行,未开始循环
print(num2()) # <generator object num2.<locals>.<genexpr> at 0x000001A6AA939C80>
result2 = [m(3) for m in num2()]
print(result2) # [3, 4, 5]