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. 列表生成式,在第二篇博客里面我写了 ...
随机推荐
- [视频]K8飞刀 HackIE\EXP测试\Post提交
[视频]K8飞刀 HackIE VS Firefox Hackbar插件功能对比 视频中可看到HackBar有缺陷导致Payload无法执行 链接:https://pan.baidu.com/s/15 ...
- url参数+,&,=,/等转义编码
url出现了有+,空格,/,?,%,#,&,= 等特殊符号的时候,可能在服务器端无法获得正确的参数值. 案例: <img src="BarCode39.aspx?barcode ...
- spring cloud+.net core搭建微服务架构:服务发现(二)
前言 上篇文章实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这 ...
- 理解Array.prototype.fill和Array.from
之所以将这两个方法放在一起说,是因为经常写这样的代码: Array.from({length: 5}).fill(0),看起来很简洁,但是踩到坑之后才发现自己对这两个方法实在是不求甚解. Array. ...
- 与LINQ有关的语言特性
在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...
- 2018.4.25-ml笔记(梯度下降)
- ElasticSearch实战-编码实践
1.概述 前面在<ElasticSearch实战-入门>中给大家分享如何搭建这样一个集群,在完成集群的搭建后,今天给大家分享如何实现对应的业务功能模块,下面是今天的分享内容,目录如下所示: ...
- 判断 php 程序是通过什么方式运行的 (浏览器,还是命令行)
php 程序既可以通过浏览器来访问(一般是 apache.nginx等服务器), 也可以通过命令行来直接运行(cli 执行) 如果需要判断 当前程序是以何种方式来执行,应该怎样判断呢,使用:php_s ...
- Mysql 5.7 基于组复制(MySQL Group Replication) - 运维小结
之前介绍了Mysq主从同步的异步复制(默认模式).半同步复制.基于GTID复制.基于组提交和并行复制 (解决同步延迟),下面简单说下Mysql基于组复制(MySQL Group Replication ...
- ruby执行字符串代码
str = "a='abcd'; a.reverse" 字符串str为ruby代码,执行方法eval eval str => "dcba"