[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. 命名空 ...
随机推荐
- R语言绘图:直方图
使用ggplot2包绘制直方图 ######*****绘制直方图代码*****####### data1 <- data0[(data0[, 2] <= 500) & (data0 ...
- shell重温---基础篇(函数操作)
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.shell中函数的定义格式如下: [ function ] funname [()] { action; [ret ...
- Android面试收集录 电话、短信和联系人、多媒体技术
1.请写出调用系统拨号界面? Intent intent=new Intent(Intent.ACTION_DIAL,Uri.pase("tel:12345678910")); s ...
- python接口测试(二)——配置文件的使用
在接口测试中,有些东西是固定不变的,比如url,若想更改的话就必须每个请求都更改,因此,可以放到配置文件中使用. 1.创建一个.ini的配置文件,如图: 2.读取配件文件中的内容,后续进行引用 #co ...
- Linux shell 整数运算 let [ ] (( )) expr以及 浮点数 bc用法(转)
Abstract : 1) Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算:2)Linux shell 中使用 expr 与 b ...
- Leetcode 686.重复叠加字符串匹配
重复叠加字符串匹配 给定两个字符串 A 和 B, 寻找重复叠加字符串A的最小次数,使得字符串B成为叠加后的字符串A的子串,如果不存在则返回 -1. 举个例子,A = "abcd", ...
- day-13 python库实现简单非线性回归应用
一.概率 在引入问题前,我们先复习下数学里面关于概率的基本概念 概率:对一件事发生的可能性衡量 范围:0<=P<=1 计算方法:根据个人置信区间:根据历史数据:根据模拟数据. 条件概率:B ...
- windows下连接hadoop运行eclipse报错Permission denied:
这是权限问题,试了一下同时也不能在hdfs创建文件夹. 解决: 修改如下hadoop的配置文件:etc/hadoop/hdfs-site.xml,如没有的话可以添加上. <property> ...
- beta版本冲刺四
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员:恺琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组 ...
- 轻量级权限管理系统——MVC基础
Microsoft Web 开发平台