在以下代码中,如果注释掉else
块,则main函数中可迭代对象的类型为list
。另一方面,如果我保留else
代码(我认为无论如何都不应该执行),iterable
变量将成为生成器。
def gimme_an_iterable():
my_list = [1, 2, 2, 3, 4]
if True:
return my_list
else:
for i in my_list:
yield i
if __name__ == '__main__':
iterable = gimme_an_iterable()
print(type(iterable))
我正在使用python3