python进阶

原书内容https://github.com/eastlakeside/interpy-zh

通过记录书本目录和大概内容做一个记录,方便以后回顾检索。

Chapter Title Brief More
1 *argv和**kwargv 给函数输入可变参数 argv为列表,kwargv为字典
2 调试pdb 代码层面下断点调试
3 生成器 定义了__iter__或__getitem__的为可迭代对象,定义了__next__的为迭代器 yeild的用处
4 Map, Filter and Reduce - map会将一个函数映射到一个列表上的所有函数,map(function_to_apply, list_of_outputs)。python3返回一个迭代器,list返回列表。
- filter过滤列表中的元素,并且返回一个由所有符合要求的元素所构成的列表。
- reduce可以对一个列表进行一些计算并返回结果,类似归并。
5 set数据结构 set不能包含重复元素 - 交集:set1.intersection(set2)
- 差集:set1.difference(set2)
6 装饰器 在执行一个函数期间需要执行其他操作,可以使用装饰器,更简单的就是定义装饰器然后使用@
7 对象变动Mutation 注意默认值,且python默认值只初始一次
8 __slots__魔法 节省小类的资源
9 虚拟环境 virtualenv
10 Collections defaultdict, counter, deque, namedtuple, enum.Enum
11 枚举 Enumerate
12 对象自省(introspection) dir, type, id, inspect
13 推导式(comprehension) 从一种数据序列构建另一种新的数据序列的结构体 eg. list, dict, set 集合的推倒式为{},因为()生成的是迭代器
14 异常 try, except, finally, else 不管触不触发异常都执行finally,异常不触发执行else
15 lambda表达式 lambda 参数: 操作(参数)
16 一行式 简易WebServer
漂亮的打印
脚本性能分析
csv转json
列表flat
一行构造器
python3 -m http.server
from pprint import pprint
python -m cPorfile my_script.py
...
17 for else 当循环完整执行后执行else语句
18 使用C扩展 Ctypes, SWING, Python/C API
19 协程 如果迭代器是数据的生成者,那么协程就是消费者 line = (yield), 通过外部send给协程,就可以执行后续的if pattern in line,关闭用close()
20 函数缓存 函数缓存允许我们将一个函数对于给定参数的返回值缓存起来 @lr_cache(maxsize=32), 清除缓存使用function.cache_clear()
21 上下文管理(with语法) 基于类实现__enter__和__exit__
处理异常
基于生成器@contextmanager

[Book Content]Python进阶的更多相关文章

  1. Python进阶:全面解读高级特性之切片!

    导读:切片系列文章连续写了三篇,本文是对它们做的汇总.为什么要把序列文章合并呢?在此说明一下,本文绝不是简单地将它们做了合并,主要是修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔 ...

  2. Python进阶:迭代器与迭代器切片

    2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...

  3. python进阶05 常用问题库(1)json os os.path模块

    python进阶05 常用问题库(1)json os os.path模块 一.json模块(数据交互) web开发和爬虫开发都离不开数据交互,web开发是做网站后台的,要跟网站前端进行数据交互 1.什 ...

  4. Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究

    Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究 一丶反射 什么是反射: ​ 反射的概念是由Smith在1982年首次提出的 ...

  5. Python学习day09 - Python进阶(3)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  6. Python进阶:函数式编程实例(附代码)

    Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...

  7. Python进阶 - 对象,名字以及绑定

    Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...

  8. Python进阶-继承中的MRO与super

    Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...

  9. Python进阶 - 命名空间与作用域

    Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...

随机推荐

  1. oracle查询优化,存储过程select表循环插入另一个表,以及索引重建

    查询语句pl/sql中用F5优化语句 ORACLE的explain plan工具的作用只有一个,获取语句的执行计划1.语句本身并不执行,ORACLE根据优化器产生理论上的执行计划2.语句的分析结果存放 ...

  2. c/c++ 结构体传参问题

    c/c++的结构体传参可以有三种方式: 1.传递结构体变量,值传递 2.传递结构体指针,地址传递 3.传递结构体成员,可是值传递也可以是地址传递 根据代码示例: 1.传递结构体变量 #include& ...

  3. AWS安装CDH5.3-CentOS6.4中关键操作步骤

    1.在AWS masternode 上下载cloudera-manager-installer.bin安装包 [root@ip-172-21-42-114 ~]# wget http://archiv ...

  4. Linux/CentOS防CC攻击脚本

    #!/bin/sh cd /var/log/httpd/ cat access_log|awk > a cp /dev/null access_log cp /dev/null error_lo ...

  5. 【jQuery】 资料

    [jQuery] 资料 1. 选择器 http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp 2. 事件 http://www.w3sch ...

  6. js学习日记-new Object和Object.create到底干了啥

    function Car () { this.color = "red"; } Car.prototype.sayHi=function(){ console.log('你好') ...

  7. 实现一个简单版的express

    express应该算是早期最优秀的一个node框架了,刚开始学node做后端语言就是用的express,它的cli可以帮我们搭建好项目目录,就像现在的vue,react一样.express本身没有做太 ...

  8. SpringBoot:工厂模式实现定时任务可配置

    pringBoot:工厂模式实现定时任务可配置 需要:使用springboot,实现定时任务可配置. 定时任务可在代码中写死,在配置文件中配置,这些都不能实现定时任务在服务器不重启的情况下可配置. 为 ...

  9. Python之tornado框架原理

    Python web框架 1.简单概念 tornado socket.逻辑处理 Django flask 逻辑处理 第三方处理模块(包含了socket) jinja2模块 Models 数据库处理 V ...

  10. BZOJ 3998 TJOI2015 弦论 后缀自动机+DAG上的dp

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3998 题意概述:对于一个给定长度为N的字符串,求它的第K小子串是什么,T为0则表示不同位置 ...