第二模块学习:  生成器,迭代器,内置函数

生成器特点:只有在调用时才会生成相应的数据,运行的速度快!

示例:

 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第十二天 生成器,迭代器,内置函数的更多相关文章

  1. Python学习(八) —— 内置函数和匿名函数

    一.递归函数 定义:在一个函数里调用这个函数本身 递归的最大深度:997 def func(n): print(n) n += 1 func(n) func(1) 测试递归最大深度 import sy ...

  2. python基础12_匿名_内置函数

    一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, ...

  3. 【python】dir(__builtins__)查看python中所用BIF(内置函数)

    dir(__builtins__)查看python中所用BIF(内置函数)

  4. 查看python内部模块命令,内置函数,查看python已经安装的模块命令

    查看python内部模块命令,内置函数,查看python已经安装的模块命令 可以用dir(modules) 或者用 pip list或者用 help('modules') 或者用 python -m  ...

  5. python基础--迭代器、生成器、内置函数、面向对象编程

    迭代器:迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问完结束.迭代器只能往前不会后退 迭代:更新换代(重复)的过程,每次的迭代都必须基于上一次的结果 迭代器:迭代取值的工具 使用迭代器的 ...

  6. python 全栈开发,Day14(列表推导式,生成器表达式,内置函数)

    一.列表生成式 生成1-100的列表 li = [] for i in range(1,101): li.append(i) print(li) 执行输出: [1,2,3...] 生成python1期 ...

  7. Python装饰器、生成器、内置函数、json

    这周学习了装饰器和生成器,写下博客,记录一下装饰器和生成器相关的内容. 一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如 ...

  8. python学习笔记(五):装饰器、生成器、内置函数、json

    一.装饰器 装饰器,这个器就是函数的意思,连起来,就是装饰函数,装饰器本身也是一个函数,它的作用是用来给其他函数添加新功能,比如说,我以前写了很多代码,系统已经上线了,但是性能比较不好,现在想把程序里 ...

  9. python之装饰器、生成器、内置函数、JSON

    一.装饰器: 装饰器,器在这里的意思是函数,也就是装饰函数.作用是给其他函数添加新功能,它可以不改变原有的函数,原来的函数和原来一模一样,什么都不需要改变,只需要在函数外部加上调用哪个装饰器就可以了, ...

  10. python学习笔记(四):生成器、内置函数、json

    一.生成器 生成器是什么?其实和list差不多,只不过list生成的时候数据已经在内存里面了,而生成器中生成的数据是当被调用时才生成呢,这样就节省了内存空间. 1. 列表生成式,在第二篇博客里面我写了 ...

随机推荐

  1. python语法基础-初始化/继承

    写了一些程序,基本上都是直接def函数 然后在main方法中 调用 但是在一些应用程序中 会有基本语法的使用(初始化,继承) 初始化: 1.在程序执行时一定执行一次的操作 2.python中初始化in ...

  2. Webpack代理proxy配置,解决本地跨域调试问题,同时允许绑定host域名调试

    Webpack代理proxy配置,解决本地跨域调试问题,同时允许绑定host域名调试 会撸码的小马 关注 2018.05.29 17:30* 字数 212 阅读 1488评论 0喜欢 2 接到上一章, ...

  3. 21天打造分布式爬虫-urllib库(一)

    1.1.urlopen函数的用法 #encoding:utf-8 from urllib import request res = request.urlopen("https://www. ...

  4. 关于vue-router,路由重定向的使用分析

    看之前的项目,突然发现一个不算bug的bug,之前也是一直没有想到,现在发现之后越来越觉得有必要改掉, 项目用的是vue做的,自然切换用的就是路由,一级路由包括:首页.记录和个人中心,二级路由是在记录 ...

  5. kubernetes入门之获取私有仓库镜像

    一般情况下,我们项目构建的镜像统一会推送至私有仓库,那么这里大家可以参考阿里云的私有仓库搭建教程.那么我们可以通过以下步骤拉取: 1.推送及拉取镜像 1.1. 登录阿里云Docker Registry ...

  6. js禁止鼠标右键功能

    1.禁止指定元素 document.getElementById("active-intro").oncontextmenu = function () { event.retur ...

  7. kafka server管理

    kafka启动以来zookeeper  kafka启动之前,首先要启动zookeeper 1.1.kafka启动单个节点 -daemon 表示程序以守护进程的方式后台云心 --override pro ...

  8. Java并发编程笔记之读写锁 ReentrantReadWriteLock 源码分析

    我们知道在解决线程安全问题上使用 ReentrantLock 就可以,但是 ReentrantLock 是独占锁,同时只有一个线程可以获取该锁,而实际情况下会有写少读多的场景,显然 Reentrant ...

  9. Tensorflow学习笔记(2):tf.nn.dropout 与 tf.layers.dropout

    A quick glance through tensorflow/python/layers/core.py and tensorflow/python/ops/nn_ops.pyreveals t ...

  10. vue 周期函数

    先简单说说vue中周期函数 beforeCreate(创建前) created(创建后) beforeMount(载入前) mounted(载入后) beforeUpdate(更新前) updated ...