python第十二天 生成器,迭代器,内置函数
第二模块学习: 生成器,迭代器,内置函数
生成器特点:只有在调用时才会生成相应的数据,运行的速度快!
示例:
def fil(max):#斐波那契数
n,a,b=0,0,1 #定义初始数据 while n<max:
yield b
a,b=b,a+b #进进第二次的赋值
n+=1 return '---deno----' a=fil(10)
while True:
try:
print(a.__next__())#打印返回值
except StopIteration as e:#异常返回
print('XXXXXX',e.value)
break
yield 生成器断点缓存 可赋于变量
.send()可以为yield 传值、数据
示例:
#利用生成器 可形成多并发
#
name_1='销售点A'
name_2='销售点B'
name_sc='大丰厂'
yf='衣服' def a(name):
print("产品%s………准备完毕………"%name)
while True:
doc=yield#生成器断点缓存
print('%s在销售\033[32;1m%s\033[0m'%(name,doc))#传入打印出来 # c=a('销售点A')
# c.__next__()#首次运行加载 doc
# yf='衣服'
# c.send(yf)
# c.__next__()
# c.__next__()
# c.__next__()
def b(name):
print("产品%s………准备完毕………"%name)
while True:
doc=yield#生成器断点缓存
print('%s在销售\033[32;1m%s\033[0m'%(name,doc))#传入打印出来 def sc(name):#生产产家 c=a(name_1)
d=b(name_2)
c.__next__()#首次加载
d.__next__()
print('%s开始生产了…………'%name)
for x in range(10):
print('生产了%s件%s'%((x+1)*2,yf))
c.send(yf)
d.send(yf) sc(name_sc)
迭代器:Iterator
可以返回下一个值的迭代对象,就可以称为迭代器
迭代对象:Iterable
可以被for循环的对象,如列表,字典,字符串等,可以称为迭代对象!
iter() 可以将迭代对象转化有迭代器
生成器属于迭代器中的一种
内置函数:
abc(i)#返回绝对值
all()#当可迭代对象值都为真时才返回真
any()#当可迭代对象值有一个为真时就返回真
ascii()#可以将列表转为ascii表对应的字符串输出
bin()#十进制转二进制………………
#计算1+1到100的值 #return 返回 def test(num): i=1
sumresult = 0
while i<=num:
sumresult = sumresult + i
i+=1
return sumresult result = test(100)
print ('resolt = %d'%result)
return 返回
#计算1+1到100的值 #return 返回 def test2(num): if num>=1:
result = num + test2(num-1)
else:
result = 0
return result result = test2(100)
print ('result = %d'%result)
#计算1+1到100的值
#计算1+1到100的值 # return 返回 def test3(num):
if num>=1:
result =num * test3(num-1)
else:
result =1
return result result = test3(4)
print ('result = %d'%result)
#计算1+1到100的值
python第十二天 生成器,迭代器,内置函数的更多相关文章
- Python学习(八) —— 内置函数和匿名函数
一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...
- python基础12_匿名_内置函数
一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, ...
- 【python】dir(__builtins__)查看python中所用BIF(内置函数)
dir(__builtins__)查看python中所用BIF(内置函数)
- 查看python内部模块命令,内置函数,查看python已经安装的模块命令
查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list或者用 help('modules') 或者用 python -m ...
- python基础--迭代器、生成器、内置函数、面向对象编程
迭代器:迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问完结束.迭代器只能往前不会后退 迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 使用迭代器的 ...
- python 全栈开发,Day14(列表推导式,生成器表达式,内置函数)
一.列表生成式 生成1-100的列表 li = [] for i in range(1,101): li.append(i) print(li) 执行输出: [1,2,3...] 生成python1期 ...
- Python装饰器、生成器、内置函数、json
这周学习了装饰器和生成器,写下博客,记录一下装饰器和生成器相关的内容. 一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如 ...
- python学习笔记(五):装饰器、生成器、内置函数、json
一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里 ...
- python之装饰器、生成器、内置函数、JSON
一.装饰器: 装饰器,器在这里的意思是函数,也就是装饰函数.作用是给其他函数添加新功能,它可以不改变原有的函数,原来的函数和原来一模一样,什么都不需要改变,只需要在函数外部加上调用哪个装饰器就可以了, ...
- python学习笔记(四):生成器、内置函数、json
一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了 ...
随机推荐
- C# log4net 使用
利用log4net写入异常类日志,在网上搜索一阵之后便想记录下来,以便后期使用,同时希望帮到大家. 第一步:使用管理NuGet程序包导入log4net.dll 导入成功后会在引用下显示相应的log4 ...
- Studying
美团spark实践:http://tech.meituan.com/spark-in-meituan.html CDH5.6.0-HBase1.0.0:http://archive.cloudera. ...
- 如何用python爬取两个span之间的内容
Python用做数据处理还是相当不错的,如果你想要做爬虫,Python是很好的选择,它有很多已经写好的类包,只要调用,即可完成很多复杂的功能,此文中所有的功能都是基于BeautifulSoup这个包. ...
- 微服务架构集大成者—Spring Cloud (转载)
软件是有生命的,你做出来的架构决定了这个软件它这一生是坎坷还是幸福. 本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义. 1 背景 2 ...
- Mac上安装pipenv时报错
version:mac os Mojave 10.14.2 执行时报错: pip install pipenv 改为: sudo pip install pipenv --upgrade --igno ...
- java实现把对象数组通过excel方式导出的功能
一.导入相关jar包,pom依赖如下: <dependency> <groupId>org.apache.poi</groupId> <artifactId& ...
- Controller:EOS区块链核心控制器
Controller是EOS区块链的核心控制器,其功能丰富.责任重大. 关键字:EOS,区块链,controller,chainbase,db,namespace,using,信号槽,fork_dat ...
- leetcode — 4sum
import java.util.Arrays; import java.util.HashSet; import java.util.Set; /** * Source : https://oj.l ...
- PHP 九九乘法表的4种表达方式
九九乘法表的四种不同表现形式 x轴对称: //第一种 for($i=1;$i<=9;$i++){ for($j=1;$j<=$i;$j++) { echo $i.'x'.$j.'='.$i ...
- Python和Java编程题(四)
1.题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 分析:只需要对三位数的数字进行循环(100~999),判断三 ...