一、软件编译和反编译
python2.x:python -m compile xx.py
python3.x: python -m compileall -b xx.py
二、调试和定位工具
1.pdb
2.pycharm
3.cProfile
4.timeit
5.tracemalloc
6.pySnooper
7.traceback
三、编程规范:遵循业界PEP8编码规范和相关的安全编码规范,可以借助工具,比如pylint,pyflake8,autopep8等
四、语言特性相关
1.基本数据类型
2.基本数据结构(列表、元组、字典、集合)的应用场景和基本操作
3.变量定义及其作用域LEGB
4.字符串的基本操作及字符编码问题,比如python2.x的str和byte,python3只有str等
5.流程控制(选择,判断,循环等)
6.函数相关,包括函数定义,匿名函数,高阶函数,默认参数,可变参数,闭包,多返回值等
函数传参:引用传递,python中类型分为可变类型和不可变类型
可变类型:list、dict
不可变类型:string、number、tuple
7.文件基本操作
8.异常处理:try/except/else/finally
9.迭代器、生成器、装饰器(函数装饰器和类装饰器)
10.列表表达式和生成器表达式
11.正则表达式:re模块
12.包管理器(import、相对引入和绝对引入、单例)
13.反射:hasattr、getattr、setattr、isinstance、inspect模块等
14.面向对象编程(属性property,继承,重写,类方法,静态方法,魔术方法,__slot__,下划线访问控制,多继承mro等)
15.单元测试:unittest和测试框架pytest
16.并发和并行编程:多线程(threading模块下Lock、RLock、Samphore、Event)、线程池concurrent.future、多进程multiprocess模块
17.with和contextlib上下文管理器
18.元类编程
19.基本标准库和常用三方件库,比如web框架tornado、django、flask等,orm框架sqlalchemy,标准库集合collections模块:ordereddict, counter, namedtuple, defaultdict, deque等
20.python2.x和3.x版本差异性和新特性(比如类型注解typing,fstring,asyncio等)
21.插件包式的开发和设计--充分利用动态加载和反射机制
22.异步io之协程:asyncio
23.面向对象之设计模块和重构
五、推荐书籍
1.python核心编程
2.python标准库
3.effective python
4.流畅的python