时间:2021-05-22
本文实例讲述了Python使用迭代器捕获Generator返回值的方法。分享给大家供大家参考,具体如下:
用for循环调用generator时,发现拿不到generator的return语句的返回值。如果想要拿到返回值,必须捕获StopIteration错误,返回值包含在StopIteration的value中:
#!/usr/bin/env python# -*- coding: utf-8 -*-def fib(max): n, a, b = 0, 0, 1 while n < max: yield b a, b = b, a + b n = n + 1 return 'done'# 捕获Generator的返回值g = fib(6)while True: try: x=next(g) print('g=',x) except StopIteration as e: print('Generrator return value:', e.value) break输出:
g= 1g= 1g= 2g= 3g= 5g= 8Generrator return value: done更多关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.连续内存序列容器(vector,string,deque)序列容器的erase方法返回值是指向紧接在被删除元素之后的元素的有效迭代器,可以根据这个返回值来安
根本原因:python定义函数时,一般都会有指定返回值,如果没有显式指定返回值,那么python就会默认返回值为None我们输入的代码如下:deftest():
前置知识准备Generator函数执行会返回一个迭代器(Iterator),在迭代器上可以调用next()方法,执行下一个yield或return调用next(
python中return不返回值是因为你没有将返回的值取出来。解决方法:调用函数,将函数的返回值赋给一个变量,输出这个变量就可以看到函数的返回值了示例如下:d
问题背景:利用python获取服务器中supervisor状态信息时发现未能获取到返回值。python获取执行shell命令后返回值得几种方式:#1.os模块r