1、示例一
需求:写一个装修器,对函数的部分或许悉数参数做类型查看。


运用inspect库完成函数参数的类型查看(对类的变量进行类型查看运用描绘器):


2、示例二
需求:自己完成partial函数。
3、示例三
需求:写一个函数,判别两个字典是否持平,字典的value可能为数字、字符串、元组、列表、调集和字典。假如value为列表和字典,需求判别其间每个元素是否持平。
4、示例四 A8站源码交易平台
需求:模仿一个数据源不断发生数值,求一段时间内,最大的K个元素。
生成数据源:
datetime库的用法:

(1)求Top K办法一:数据先逐一参加列表,再在列表中排序

(2)求Top K办法二:有序刺进列表

(3)求Top K办法三:大顶堆
大顶堆的完成:
add()和父节点比较巨细,假如比父节点大,则交流;
pop()和两个子节点比较巨细,假如比子节点小,则和较大的子节点交流。

调用大顶堆的Top K的完成:
5、示例五
需求:自学规范库re。
re是一个在Python中运用正则表达式的规范库。
6、示例六
需求:完成os.walk办法。
os.scandir函数:

深度优先遍历非递归办法完成os.walk办法:

深度优先遍历递归办法完成os.walk办法:

广度优先遍历非递归办法完成os.walk办法:

os.walk办法的运用:
7、示例七
需求:完成一个优先行列,由用户指定比较函数。
namedtuple模块的用法:
类比堆的办法完成优先行列:
8、示例八
需求:完成tail -f的功用。
9、示例九
需求:完成tail指令,包含-n和-f选项,能够运用argparse完成指令行参数解析。
10、示例十
需求:学习单例规划形式,并运用装修器完成单例类。
11、示例十一
需求:不运用内置数据结构,完成栈、行列和列表。
完成栈办法一:

完成栈办法二:
12、 示例十二
需求:完成staticmethod装修器。
13、示例十三
需求:假定现已存在函数get_permissions能够获取当时用户的权限列表,规划一个权限办理类,既能够作为装修器,对一个函数授权,也能够作为上下文办理,对一段代码授权。A8站源码交易平台
例如:
permissions = get_permissions()
if 'admin' in permissions:
## do somethings
else:
raise Exception('Permissions denied')
14、示例十四
需求:完成contextlib.contextmanager装修器。
