前言

最近在读源码的过程中,发现有很多陌生的python知识,包括装饰器、上下文管理器等,还有很多非常有用但我没见过的自带模块。于是采用“步步高点读机”式学习方法,哪里不会搜哪里(狗头,并将进一步学习的过程记录在此。

0 推荐学习资源

  1. Python documentation - 官方文档,最好的学习资源
  2. Python Cookbook 3rd Edition Documentation - 是《Python Cookbook》的中文译本
  3. 《Python进阶》 - 是《Intermediate Python》的中文译本

1 Python进阶

1.1 装饰器

1.2 *_ 的用法

在元组拆包时,一般情况下,= 左边的变量个数等于元组元素个数。但如果只想使用元组中某几个元素的话,不需要的元素就没必要给它一个变量(因为这会占用内存),那就用 _ 取代变量名。如果不需要的元素是连续的,不用写多个 _ ,直接写一个 *_ 就行了。另外,如果想把多个元素分配给一个变量p,可以使用 *p 。例子如下:

>>> a = (1, 2 ,3 ,4 ,5, 6)
>>> b, *_, d = a
>>> b, d
(1, 6)
>>> b, *c, d = a
>>> b, c, d
(1, [2, 3, 4, 5], 6)

2 常用模块

2.1 argparse

官方文档 | 简易教程

2.2 typing

Python中typing模块与类型注解的使用方法

参考资料

  1. python中*_是什么意思? - 薄荷红茶