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

Python知识(四)

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

Python知识(四)

1)python生成器和迭代器的区别

        迭代器协议访问对象,先屌用对象中的__iter__方法,提供next方法返回下一项,如果没有的话则去找__getitem__方法。没有下一项回抛出StopIterration的异常

        生成器,python中使用了yield的函数成为生成器,生成器函数返回一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数高会暂停并保存当前所有运行的信息。返回yield的值,并在下次执行next()方法时从当前位置继续执行。

        在python中:列表、元组、字典、字符串可以迭代。

        区别:1.迭代器是访问容器的一种方式,也就是说容器已经出现,我们是从已有的元素中拓印出一份副本,只为我们此次迭代使用。而生成器则是自己生成元素。2.在使用方法上,生成器只需要简单函数写法,配合yield实现,生成器是只能遍历一次的。

        为什么使用生成器:1.节省资源。2.生成器随用随生成,用完即释放。3.可在单线程下实现并发运算的处理效果。

        yield与return的区别:相同点,都返回函数的执行结果。不同点,return在返回函数结果后,结束函数运行。而yield则是让函数变成一个生成器,生成器每次产生一个值(yield语句)函数被冻结,被唤醒后在产生一个值。

2)python中常用的正则表达式

        [Pp]thon        Pyhon python

        rub[ye]        ruby rube

        [0-9]        任何数字

        [a-z]        任何小写字母

        [A-Z]        任何大写字母

        [a-zA-Z0-9]        任何字母及数字

        [^aeiou]        除aeiou外的所有字符

        d        数字字符        D        非数字字符        s        匹配任何空白字符

        S        匹配任何非空白字符

        w        匹配包括下划线的任何单词字符

        W        匹配任何非空白字符

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1012238.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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