python_生成器小结
#__author : "ziChuan"
#__data : 2019/7/19
import random
# print(random.random())
# print(random.randint(1,8)) #包含8
#print(random.choice("hello"))
#print(random.choice([[1,2,3],2,"1234"]))
#print(help(random.shuffle))
#print(random.sample([[1,2,3],2,"1234"],2))
#print(random.randrange(1,4))
#做个练习:不完整验证码
def v_code():
code = ""
for i in range(5):
add_num = random.choice([random.randrange(10), chr(random.randrange(65, 91))])
#if i == random.randint(0,4):
# if random.choice:
# add_num = random.randrange(10)
# else:
# add_num = chr(random.randrange(65,91)) code += str(add_num) print(code)
v_code()
#列表生成器
[x*2 for x in range(10)]
#生成器(generator object)
创建生成器的两种方式: 1、(x*2 for x in range[10]) >>>>>>>>>>>>>>generator object
2、def f():
print("ok")
yield 2
print("ok")
f() >>>>>>>>>>>>>>>>>>>>>>generator object 生成器的方法:
1、next(f()) ------------------------------------计算出一个值
注意:生成器在创建的时候已经决定了能计算出值的个数,调用
next的次数超过这个值就会报StopIteration
遍历所有元素可以使用for循环:
for i in [1,2,3]:
print i
for循环内部做了三件事:
1、调用对象的iter()方法,返回一个迭代器对象
2、while:
try:
i = next(list_Iterator)
except StopIteration:
break
2、send():
f().send(None) #等价于next(f())
#迭代器
#满足迭代器协议:
1、内部有next方法
2、内部有Iter()方法 li = [1,2,3]:Iterable(内部有Iter方法) >>>>>>>>>>>>>>iter()
i = iter(li):list_Iterator
#模块
import time #时间模块
time.time #时间戳
time.strftime() #格式化时间戳
time.gmtime() #UTC 时间
time.localtime #北京时间
time.ctime() #时间日期格式
datetime
datetime.datetime.now()
import random #随机数模块
chr() #将数字转化为字母 验证码
python_生成器小结的更多相关文章
- Python: 迭代器与生成器小结
迭代器与生成器的区别: 1. 迭代器由Class对象创建. 生成器由包含yield表达的Function对象或者Generator Expression创建. 2. 迭代器的原理: (1)由Itera ...
- Python_生成器函数进阶_39
def generator(): print(123) content = yield 1 #content接收的是send传的值 print('=======',content) print(456 ...
- Python_生成器generator
生成器:调用时返回一个迭代器 如果一个函数中包含yield语法,那这个函数就会变成一个生成器 例1: def draw_money(draw): #这个函数称为生成器 while draw >0 ...
- 零基础学习python_生成器(49课)
一个生成器函数的定义很像一个普通的函数,除了当它要生成一个值的时候,使用yield关键字而不是return.如果一个def的主体包含yield,这个函数会自动变成一个生成器(即使它包含一个return ...
- python_生成器
生成器: # 生成器函数(内部是否包含yield) def func(): print('F1') yield 1 print('F2') yield 2 print('F3') yield 100 ...
- Python_生成器和迭代器的区别
迭代器和生成器的区别是什么?这个问题面试的时候经常作为灵魂拷问.今天一起从概念到代码梳理一遍,作为总结和记录. 区别是: 生成器的好处是延迟计算,一次返回一个结果.也就是说,它不会一次生成所有的结果, ...
- python之迭代器,生成器小结
1.凡是可作用于for循环的对象都是Iterable类型: 2.凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列: 3.集合数据类型如list.dict.str等 ...
- python基础-迭代器和生成器
一.递归和迭代 1.递归:(问路示例) 递归算法是一种直接或者间接地调用自身算法的过程.在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解. 2.迭代:简单理 ...
- python迭代器和生成器(3元运算,列表生成式,生成器表达式,生成器函数)
1.1迭代器 什么是迭代器: 迭代器是一个可以记住遍历的位置对象 迭代器对象从集合的第一个元素元素开始访问,直到所有元素被访问完结束,迭代器只能往前不会后退. 迭代器有两个基本方法:iter ,nex ...
随机推荐
- 关于页面跳转之后获取不到session数据的问题
暂时的解决方法有两种,亲测有效: 方法一: 将页面跳转方式由a标签改为请求转发request.getRequestDispatcher("stu_list.jsp").forwa ...
- Python学习笔记之基础篇(三)python 数据类型 int str bool 详谈
python 的数据类型: 1.int:存放 1,2,3 等数据 ,用于数字的运算 2.bool :True, False 用于判断 3.str:字符串,用来存储少量的数据 4.list : 数组的 ...
- C++ 类 与 static
背景 从学习C++到使用现在,发现很多新的东西,正好整理一下. static 为静态,指是当类编译加载的时候,内存就会开辟存储空间的. static 数据成员 在类中,static 可修饰 类中的成员 ...
- 配置uboot指定nfs挂载根文件系统
背景: 文件系统的调试也建议在 网络中进行. 概念: NFS是Network File System的缩写及网络文件系统. 要功能是通过局域网络让不同的主机系统之间可以共享文件或目录. NFS系统和W ...
- 使用FFmpeg处理视频文件:视频转码、剪切、合并、播放速调整
安装 略. 转码 最简单命令如下: ffmpeg -i out.ogv -vcodec h264 out.mp4ffmpeg -i out.ogv -vcodec mpeg4 out.mp4ffmpe ...
- redheat7 sd 0:0:0:0: [sda] Assuming drive cache: write through(未解决)
以下是我上网查找的解决办法 1. sd 0:0:0:0: [sda] Assuming drive cache: write through 解决方法:/etc/default/grub 文件里去掉 ...
- 最近学习总结 Nodejs express 获取url参数,post参数的三种方式
express获取参数有三种方法:官网实例: Checks route params (req.params), ex: /user/:id Checks query string params (r ...
- 空中网4k/5k月薪挑选大四实习生的线程题
空中网4k/5k月薪挑选大四实习生的线程题 两年前,我们一个大四的学员去应聘空中网的实习生职位,空中网只给他出了三道线程题,拿回家做两天后再去给经理讲解,如果前两题做好了给4k月薪,第三道题也做出来的 ...
- pyhton matplotlib可视化图像基础(二维函数图、柱状图、饼图、直方图以及折线图)
//2019.07.22pyhton中matplotlib模块的应用pyhton中matplotlib是可视化图像库的第三方库,它可以实现图像的可视化,输出不同形式的图形1.可视化图形的输出和展示需要 ...
- Irecycleview 的初次使用简单介绍(irecycleview 下拉刷新上拉加载)
导包 还得加一个maven地址自己也看一下作者git把有详细解释(自己也要导入recycleview的包) 我的例子下载地址 https://www.lanzous.com/i32yzaj impl ...