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 年前3
python3学习手册h�ps://www.python.org Python由Guido van Rossum于1989年底发明,于1991年发行第一版, Python源代码遵循GPL协议 Python是一种解释型、面向对象、动态数据类型、可交互的语言 python2.0于2000-10-16发布,于2020年1月1日停止更新2.x版本, Python-2.7成为最后一个py 2.x版本 python3.0于2008-12-03发布 直 接 wget h�ps://www.python.org/�p/python/3.10.3/Python- 3.10.3.tgz 下载目标版本源码包,并上传到目标linux服务器上 安装依赖: # yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \ readline-devel global raise def if return del import try elif in while else is with except lambda yiel ★标准数据类型 number int bool float complex ( 1+2j ) (python3无long长整型) True=1, False=0 string 有序strx='xxxx'0 码力 | 213 页 | 3.53 MB | 1 年前3
Python 标准库参考指南 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 月前3
Python 标准库参考指南 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 月前3
Python 标准库参考指南 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 月前3
Python 标准库参考指南 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 月前3
Python 标准库参考指南 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 月前3
Python 标准库参考指南 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 月前3
Python 标准库参考指南 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 月前3
Python 标准库参考指南 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
共 163 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17













