栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021930学习总结

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021930学习总结

一、迭代器 1.什么数迭代器(iter)
'''
1)迭代器是容器型数据类型
2)创建迭代器:a.将其他序列转换成迭代器   b.创建生成器
3)特点:a.打印不能查看迭代器中的元素    b.不能通过len获取迭代器中的个数      c.如果要使用元素必须将迭代器中取出来,而且取出来以后就无法放回
'''
i1 = iter('abc')
print(i1)
# print(len(i1))    # 报错

i2 = iter([10, 20, 30])
print(i2)
获取元素 1)获取单个元素:next(迭代器)
print(next(i1))     # a
print(next(i1))     # b
print(next(i1))     # c
# print(next(i1))     # 报错!   StopIteration
# 主要结论:不管用任何方式获取到了迭代器中的元素,那么被取到的元素一定会从迭代器中消失
next(i2)
print(list(i2))     # [20, 30]
二、生成器 1.什么是生成器 - generator 生成器是一种容器:也是一种特殊的迭代器(具备迭代器的特点) 2.怎么创建生成器
'''
调用带有yield关键字的函数就可以得到一个生成器
调用普通函数会执行函数体,并且获取返回值(函数调用表达式的值就是函数的返回值);
如果被调用的函数中有yield,那么调用函数的时候不会执行函数体,也不会获取函数返回值,函数调用表达式的值是生成器的对象
'''

def func1():
    yield
    print('函数')
    return 100

result = func1()
print(f'result:{result}')
3.控制生成器元素的个数(函数中遇到yield的个数)和元素(在yield后的数据) 调用函数创建的生成器中有多少个元素,每个元素是什么由执行完函数体会遇到几次yield以及每次遇到yield的时候后面的数据决定
def func2():
    yield

gen1 = func2()
print(gen1)
练习:创建一个生成器,可以创建的数据:‘py001…py100’
def func3():
    for x in range(1, 101):
        yield f'py{x:0>3}'


gen2 = func3()
练习:写一个创建一副扑克牌的生成器
from random import shuffle, choice, choices

huase = '♠♥♣♦'
pai = ['2','3','4','5','6','7','8','9','10','J','Q','K','A']
def poke(pai , huase):
    for x in pai:
        for y in huase:
            yield x + y

gen3 = poke(pai, huase)
pokers = list(gen3)
洗牌 shuffle 随机选择 choice
print(choices(pokers, k=3))
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/283652.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号