Python开发基础总结(三)排序+迭代+生成器+装饰器

本文介绍了Python开发中的四个重要概念:排序、迭代、生成器和装饰器。详细讲解了排序函数sort的参数,迭代器的高效使用,包括reversed和enumerate函数,以及如何自定义迭代类。对于生成器,阐述了yield关键字的作用,生成器的创建和使用,如next()、send()和throw()。最后,深入探讨了装饰器的本质、参数装饰器、装饰器的叠加以及如何修饰类方法和对象。
摘要由CSDN通过智能技术生成

一、排序

1、    list自己提供了排序的函数:sort。
2、    sort的参数:
a)    cmp是一个比较函数,输入两个元素,比较大小,返回值为-1,0,1.
b)    key也是一个函数,入参为一个元素,返回这个元素的关键字。
c)    reverse是一个标志位,表示升序还是降序。默认False是升序,True表示降序。
3、使用key和reverse的性能,优于cmp函数。时间是cmp函数的一半。

二、迭代的使用


1、    迭代比直接使用列表遍历效率根据高。比如字典的keys函数返回的列表,以及iterkeys返回的迭代器。
2、    reversed() 内建函数将返回一个反序访问的迭代器.参数必须为序列。
3、    enumerate:返回一个迭代器:有索引值。
4、    for  eachLine  in  myFile  替 换   for  eachLine  in myFile.readlines() :
5、    注意:在迭代的过程中不可以更改序列,否则会引发问题,导致迭代出错。
6、    可以自己定义一个类,可以迭代使用。不过需要定义方法:iter,next。
7、    filter(function, iterable):可以对迭代使用过滤器。

三、生成器的使用


1、    yield关键字可以阻塞住函数的执行,并且保存当前的执行环境,整个包被称为生成器。
2、    生成器可以通过调用生成器函数来创建。生成器函数是指包含关键字yield的函数。
3、    生成器可以

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值