[Book Content]Python进阶
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进阶的更多相关文章
- Python进阶:全面解读高级特性之切片!
导读:切片系列文章连续写了三篇,本文是对它们做的汇总.为什么要把序列文章合并呢?在此说明一下,本文绝不是简单地将它们做了合并,主要是修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔 ...
- Python进阶:迭代器与迭代器切片
2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...
- python进阶05 常用问题库(1)json os os.path模块
python进阶05 常用问题库(1)json os os.path模块 一.json模块(数据交互) web开发和爬虫开发都离不开数据交互,web开发是做网站后台的,要跟网站前端进行数据交互 1.什 ...
- Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究
Python进阶----反射(四个方法),函数vs方法(模块types 与 instance()方法校验 ),双下方法的研究 一丶反射 什么是反射: 反射的概念是由Smith在1982年首次提出的 ...
- Python学习day09 - Python进阶(3)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python进阶:函数式编程实例(附代码)
Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...
- Python进阶 - 对象,名字以及绑定
Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...
- Python进阶-继承中的MRO与super
Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...
- Python进阶 - 命名空间与作用域
Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...
随机推荐
- oracle查询优化,存储过程select表循环插入另一个表,以及索引重建
查询语句pl/sql中用F5优化语句 ORACLE的explain plan工具的作用只有一个,获取语句的执行计划1.语句本身并不执行,ORACLE根据优化器产生理论上的执行计划2.语句的分析结果存放 ...
- c/c++ 结构体传参问题
c/c++的结构体传参可以有三种方式: 1.传递结构体变量,值传递 2.传递结构体指针,地址传递 3.传递结构体成员,可是值传递也可以是地址传递 根据代码示例: 1.传递结构体变量 #include& ...
- AWS安装CDH5.3-CentOS6.4中关键操作步骤
1.在AWS masternode 上下载cloudera-manager-installer.bin安装包 [root@ip-172-21-42-114 ~]# wget http://archiv ...
- Linux/CentOS防CC攻击脚本
#!/bin/sh cd /var/log/httpd/ cat access_log|awk > a cp /dev/null access_log cp /dev/null error_lo ...
- 【jQuery】 资料
[jQuery] 资料 1. 选择器 http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp 2. 事件 http://www.w3sch ...
- js学习日记-new Object和Object.create到底干了啥
function Car () { this.color = "red"; } Car.prototype.sayHi=function(){ console.log('你好') ...
- 实现一个简单版的express
express应该算是早期最优秀的一个node框架了,刚开始学node做后端语言就是用的express,它的cli可以帮我们搭建好项目目录,就像现在的vue,react一样.express本身没有做太 ...
- SpringBoot:工厂模式实现定时任务可配置
pringBoot:工厂模式实现定时任务可配置 需要:使用springboot,实现定时任务可配置. 定时任务可在代码中写死,在配置文件中配置,这些都不能实现定时任务在服务器不重启的情况下可配置. 为 ...
- Python之tornado框架原理
Python web框架 1.简单概念 tornado socket.逻辑处理 Django flask 逻辑处理 第三方处理模块(包含了socket) jinja2模块 Models 数据库处理 V ...
- BZOJ 3998 TJOI2015 弦论 后缀自动机+DAG上的dp
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3998 题意概述:对于一个给定长度为N的字符串,求它的第K小子串是什么,T为0则表示不同位置 ...