Python函数究竟如何返回/屈服对象?
return语句使python函数" title="python函数">python函数退出并向其调用者返回一个值。通常,函数的目的是接受输入并返回某些东西。return语句一旦执行,将立即终止函数的执行,即使它不是函数中的最后一条语句也是如此。
返回值的函数有时称为卓有成效的函数。
示例
给定的代码给出以下输出
def sum(a,b):return a+b
sum(5,16)
输出结果
21
发电机
生成器是迭代器或迭代器,例如列表和元组,但是您只能对其进行一次迭代。这是因为它们没有将所有值存储在内存中,而是即时生成这些值:
示例
mygenerator = (x*x for x in range(4))for i in mygenerator:
print i,
输出结果
0 1 4 9
由于生成器只能使用一次,因此我们无法再次在生成器中执行i运算:生成器只能计算0,然后忽略它,然后计算1、4,最后一次计算9,就可以了。
产量
yield是一个像return一样使用的关键字,只是函数将返回一个生成器。
我们使用以下代码访问生成器的返回,如下所示
示例
def createGenerator():for i in range(4):
yield i*i # this code creates a generator
mygenerator = createGenerator()print(mygenerator) # mygenerator is an object!
# for i in mygenerator:
# print i,
print(next(mygenerator))
print(next(mygenerator))
print(next(mygenerator))
print(next(mygenerator))
print(next(mygenerator))
输出结果
<generator object createGenerator at 0xb71e27fc>0
1
4
9
Traceback (most recent call last):
File "yieldgen1.py", line 12, in <module>
print(next(mygenerator))
StopIteration
说明
上例中的yield语句创建了mygenerator。它只能使用一次。我们使用命令next(mygenerator)进行计算;它只能使用一次:首先计算0,然后将其忽略,然后第二次计算1,第三次计算4,第四次计算9,然后在第五次抛出,因为用尽了列表元素,因此出现StopIteration错误。
以上是 Python函数究竟如何返回/屈服对象? 的全部内容, 来源链接: utcz.com/z/360087.html