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

回到顶部