数据类型与数据结构
python支持的数据类型有Number, String, File
python支持的数据结构有list, dict, tuple, set
|
|
由于python是强类型语言,所以类型之间不行互相自动转换。
控制结构
python支持的控制结构:
|
|
相关的内建函数: range zip map
迭代协议: __iter__ __next__
序列协议: __getitem__
函数
|
|
语法 | 解释
def func(name) | 常规参数
def func(name=value) | 默认参数值
def func(*name) | 匹配并收集(在元组中)所有包含位置的参数
def func(**name) | 匹配并收集(在字典中)所有包含位置的参数
lambad表达式:
|
|
作用域
LEGB法则:
L: 本地作用域
E: 嵌套作用域
G: 全局作用域
B: 内置作用域
global语句的作用, nonlocal(py3.0之后)语句的作用
|
|
模块和包
import执行过程:
搜索
搜索路径:
- 程序主目录
- PYTHONPATH目录
- 标准库目录
- 任何.pth文件的内容
- 编译
- 运行
重新导入模块: reload
包含__init__.py文件的目录即是包
|
|
类
|
|
异常
环境管理协议:
- 计算表达式,得到的对象为环境管理器,该管理器必须有__enter__和__exit__方法
- 环境管理器的__enter__方法会被调用。若存在as子句,其返回值会赋给as子句中的变量,否则丢弃
- 代码块中嵌套的代码将会执行
- 发生异常或者代码块执行完毕后,都会调用__exit__(type, value, traceback)方法。若没有发生异常,则参数都为None。若发生异常,则为异常信息。
装饰器
实际开发中用的比较多,必须掌握。
元类
在写框架代码的时候用的较多。