Python学习课程--------课时一

之前断断续续的学习过一些python的基本语法,但是不够牢固。为了之后学习python爬虫和机器学习所以重新过一遍python的语法和基本知识。这里只做一些重点的记录,不做全面的基础知识点记录。

学习Python推荐一个网址,讲得很详细 廖雪峰得官方网站


生成器:通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。

所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。

定义generator的另一种方法。如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator


迭代器

凡是可作用于for循环的对象都是Iterable类型;

凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;

集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。

Python的for循环本质上就是通过不断调用next()函数实现的,例如:


高阶函数:

变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

map() reduce() filter()

返回函数:

闭包问题:

匿名函数 lambda:

装饰器:

偏函数:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 切片 取一个list(列表)或tuple(元组)的部分元素是非常常见的操作Python提供了切片(Slice)操作...
    upupSue阅读 3,610评论 0 1
  • 1.1==,is的使用 ·is是比较两个引用是否指向了同一个对象(引用比较)。 ·==是比较两个对象是否相等。 1...
    TENG书阅读 4,068评论 0 0
  • PYTHON-进阶-ITERTOOLS模块小结转自wklken:http://wklken.me/posts/20...
    C_Y_阅读 4,721评论 0 2
  • python学习笔记 声明:学习笔记主要是根据廖雪峰官方网站python学习学习的,另外根据自己平时的积累进行修正...
    renyangfar阅读 8,274评论 0 10
  • 上路,再出发…… 临在为本 什么是“临在”我无法表述清楚。 四天三夜中,在和“临在”的每一次亲密接触时,头脑都会稍...
    杨瑛_8w9阅读 3,003评论 0 4

友情链接更多精彩内容