#__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_生成器小结的更多相关文章

  1. Python: 迭代器与生成器小结

    迭代器与生成器的区别: 1. 迭代器由Class对象创建. 生成器由包含yield表达的Function对象或者Generator Expression创建. 2. 迭代器的原理: (1)由Itera ...

  2. Python_生成器函数进阶_39

    def generator(): print(123) content = yield 1 #content接收的是send传的值 print('=======',content) print(456 ...

  3. Python_生成器generator

    生成器:调用时返回一个迭代器 如果一个函数中包含yield语法,那这个函数就会变成一个生成器 例1: def draw_money(draw): #这个函数称为生成器 while draw >0 ...

  4. 零基础学习python_生成器(49课)

    一个生成器函数的定义很像一个普通的函数,除了当它要生成一个值的时候,使用yield关键字而不是return.如果一个def的主体包含yield,这个函数会自动变成一个生成器(即使它包含一个return ...

  5. python_生成器

    生成器: # 生成器函数(内部是否包含yield) def func(): print('F1') yield 1 print('F2') yield 2 print('F3') yield 100 ...

  6. Python_生成器和迭代器的区别

    迭代器和生成器的区别是什么?这个问题面试的时候经常作为灵魂拷问.今天一起从概念到代码梳理一遍,作为总结和记录. 区别是: 生成器的好处是延迟计算,一次返回一个结果.也就是说,它不会一次生成所有的结果, ...

  7. python之迭代器,生成器小结

    1.凡是可作用于for循环的对象都是Iterable类型: 2.凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列: 3.集合数据类型如list.dict.str等 ...

  8. python基础-迭代器和生成器

    一.递归和迭代 1.递归:(问路示例) 递归算法是一种直接或者间接地调用自身算法的过程.在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解. 2.迭代:简单理 ...

  9. python迭代器和生成器(3元运算,列表生成式,生成器表达式,生成器函数)

    1.1迭代器 什么是迭代器: 迭代器是一个可以记住遍历的位置对象 迭代器对象从集合的第一个元素元素开始访问,直到所有元素被访问完结束,迭代器只能往前不会后退. 迭代器有两个基本方法:iter ,nex ...

随机推荐

  1. 页面的五种布局以及嵌套『Android系列八』

    转自:http://blog.csdn.net/dazlly/article/details/7860125 因为学习比较晚,我用的相关版本为SDK4.1.eclipse4.2,而自己看的教材都是低版 ...

  2. Day2-I-Knight's Problem POJ - 3985

    You must have heard of the Knight's Tour problem. In that problem, a knight is placed on an empty ch ...

  3. RCast 66: 射影几何与Rho演算

    Greg Meredith与Isaac DeFrain和Christian Williams一起讨论了射影几何及其在Rho演算中的作用. 原文链接及音频 https://blog.rchain.coo ...

  4. SpringBoot 静态资源的配置

    springboot默认的静态资源目录: classpath:/static classpath:/public classpath:/resources classpath:/META-INF/re ...

  5. 算法竞赛入门经典——读书笔记day1

    1-1:整数值用%d输出,实数用%f输出. 1-2:整数/整数=整数,浮点数/浮点数=浮点数. 1-3:scanf中的占位符和变量的数据类型应一一对应,且每个变量前需要加&符号. 1-4:在算 ...

  6. Python学习笔记之基础篇(二)python入门

    一.pycharm 的下载与安装: 使用教程:https://www.cnblogs.com/jin-xin/articles/9811379.html 破解的方法:http://xianchang. ...

  7. HTML学习第七天(一)

    HTML学习第七天(一) aside元素用来表示当前或文章的附属信息部分,它可以包含与当前页面或主要内容的相关引用.侧边栏.广告.导航条,以及其他类似的有区别于主要内容的部分 <!DOCTYPE ...

  8. ssh与scp

    ssh命令用于linux 的远程登录,其默认端口为:22,在工作中常常会修改掉这一默认端口的值. scp命令用于远程的文件相互拷贝. scp远程文件拷贝: [root@jerry a]#ls     ...

  9. docker学习笔记-03:docker的镜像原理

    镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件.它包含运行某个环境所需的所有内容,包括代码.库.环境变量和配置文件. 一.镜像是什么 (一).联合文件系统(Unio ...

  10. grep -o -E

    sed 命令可以很好的进行行匹配,但从某一行中精确匹配某些内容,则使用 grep 命令并辅以 -o 和 -E 选项可达到此目的.其中 -o 表示“only-matching”,即“仅匹配”之意.光用它 ...