5 刘知杭 静态类型的Python
静态类型的Python Lyzh(刘知杭) 目录 CONTENTS 有关类型的概念 使用mypy对Python源 代码进行静态分析 代数数据类型 拓展知识 关于类型的一些基本概念 有类型不等于有类型系统 动态语言类型化的必要性 不久前的一个案例 正文 类型的概念 CPython定义了PyObject这个 结构体作为对象头。 CPython中的类型,是指在对 象头中指向类型元信息的指针。 象头中指向类型元信息的指针。 CPython有类型,但CPython没有类型系统。这就是CsPython中诸多问题的由来。 类型系统是什么? 类型系统(type system)的基本目标是防止程序在运行时发生类型错误。当且仅当语言运行时 不存在任何形式的类型错误,那么它就是sound的。soundness是类型系统研究的重要目标。 类型系统(type system)是一种编译期(Compile-time)的类型推导检查规则。 ime)的类型推导检查规则。 类型系统就是一种轻量级的形式化方法,它通常被植入编译器或程序分析器中进行自动校验。 从而让那些不熟悉底层理论的程序员也可以使用它们。 这类轻量级技术中还包括模型检测(Model checking),运行时验证(Runtime verification)和类型系统(Type system)等等。其中类型系统最流行,发展最完善。 在计算机科学中,形式化方法(Formal0 码力 | 42 页 | 6.87 MB | 1 年前3Python 标准库参考指南 3.13
由 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4 内置类型 35 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4.1 整数类型的按位运算 . . . . . . . . . . . . . . . . . . . . . 4.4.2 整数类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4.3 浮点类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.4.4 数字类型的哈希运算 . .0 码力 | 2242 页 | 11.73 MB | 9 月前3Python 标准库参考指南 3.13
由 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4 内置类型 35 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4.1 整数类型的按位运算 . . . . . . . . . . . . . . . . . . . . . 4.4.2 整数类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4.3 浮点类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.4.4 数字类型的哈希运算 . .0 码力 | 2246 页 | 11.74 MB | 9 月前3Python 标准库参考指南 3.10.15
site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4 内置类型 31 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.4.1 整数类型的按位运算 . . . . . . . . . . . . . . . . . . . . . 4.2 整数类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4.3 浮点类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4.4 数字类型的哈希运算0 码力 | 2207 页 | 10.45 MB | 9 月前3Python 标准库参考指南 3.12
由 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4 内置类型 33 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4.1 整数类型的按位运算 . . . . . . . . . . . . . . . . . . . . . 4.4.2 整数类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4.3 浮点类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4.4 数字类型的哈希运算 . .0 码力 | 2253 页 | 11.81 MB | 9 月前3Python 标准库参考指南 3.12
由 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4 内置类型 33 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4.1 整数类型的按位运算 . . . . . . . . . . . . . . . . . . . . . 4.4.2 整数类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4.3 浮点类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4.4 数字类型的哈希运算 . .0 码力 | 2253 页 | 11.81 MB | 9 月前3Python 标准库参考指南 3.10.15
1 由 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4 内置类型 29 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.4.1 整数类型的按位运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4.2 整数类型的附加方法 4.4.3 浮点类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4.4 数字类型的哈希运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.5 迭代器类型 . . . . .0 码力 | 2072 页 | 10.39 MB | 9 月前3Python 标准库参考指南 3.11.10
site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4 内置类型 33 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4.1 整数类型的按位运算 . . . . . . . . . . . . . . . . . . . . . 4.2 整数类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4.3 浮点类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.4.4 数字类型的哈希运算0 码力 | 2399 页 | 11.19 MB | 9 月前3Python 标准库参考指南 3.8.20
site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4 内置类型 29 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.5 迭代器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.6 序列类型 --- list, tuple, range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.7 文本序列类型 --- str . . . . . . . . . . . . . . . . . . .0 码力 | 2052 页 | 9.74 MB | 9 月前3Python 标准库参考指南 3.11.10
1 由 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4 内置类型 31 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.4.1 整数类型的按位运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4.2 整数类型的附加方法 4.4.3 浮点类型的附加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4.4 数字类型的哈希运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.5 迭代器类型 . . . . .0 码力 | 2248 页 | 11.10 MB | 9 月前3
共 164 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17