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 基础教程 - 廖雪峰Python3 基础教程【完整版】 http://www.yeayee.com/ 1/531 Python3 基础教程 Python 教程 ................................................................................................................... 5 Python ........................ 28 Python 基础 ................................................................................................................. 32 数据类型和变量 ................................. .................................................................................... 135 Python3 基础教程【完整版】 http://www.yeayee.com/ 2/531 返回函数 ...................................................0 码力 | 531 页 | 5.15 MB | 1 年前3
Hello 算法 1.1.0 Python版最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 能够帮助到你! i 目 录 第 0 章 前言 1 0.1 关于本书 . . . . . . . . . . . . . 3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3 数字编码 * . . . .0 码力 | 364 页 | 18.42 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Python 版最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 能够帮助到你! i 目 录 第 0 章 前言 1 0.1 关于本书 . . . . . . . . . . . . . 3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3 数字编码 * . . . .0 码力 | 364 页 | 18.43 MB | 10 月前3
Hello 算法 1.0.0 Python版最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接且有效。然而刷题就如同玩“扫雷”游戏,自学能力 强的人能够顺利将地雷逐个排掉,而基础不足的人很可能被炸得满头是包,并在挫折中步步退缩。通读教材 也是一种常见做法,但对于面向求职的人来说,毕业论文、投递简历、准备笔试和面试已经消耗了大部分精 力,啃厚重的书往往变成了一项艰巨的挑战。 3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.3 数字编码 * . . . . 图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 9.2 图的基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 9.3 图的遍历 . . . .0 码力 | 362 页 | 17.54 MB | 1 年前3
Hello 算法 1.0.0b5 Python版最常收到的一个问题是“如何入门学习算法”。我逐渐对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。刷题就如同玩“扫雷”游戏,自学能力强的同 学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在挫折中步步退缩。通读教材 书籍也是一种常见做法,但对于面向求职的同学来说,毕业季、投递简历、准备笔试面试已经占据了大部分 精力,厚重的书籍往往变成了一项艰巨的挑战。 3.1 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.2 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.3 数字编码 * . . . . 1 图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 9.2 图基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 9.3 图的遍历 . .0 码力 | 361 页 | 30.64 MB | 1 年前3
Hello 算法 1.0.0b4 Python版如何入门学习算法”。我逐渐也对这个问题产生了浓厚的兴 趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单直接且有效。然而,刷题就如同玩“扫雷”游戏,自学能力 强的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在挫折中步步退缩。通 读教材书籍也是一种常见做法,但对于面向求职的同学来说,毕业季、投递简历、准备笔试面试已经占据了 大部分精力,厚重的书籍往往变成了一项艰巨的挑战。 3.1. 数据结构分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2. 基本数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3. 数字编码 * . . . . 图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 9.2. 图基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 9.3. 图的遍历 . .0 码力 | 329 页 | 27.34 MB | 1 年前3
Hello 算法 1.0.0b1 Python版了许多读者的评论问题,遇到最多的问题是“如何入门学习算法”。我渐渐也对这个问题好奇了起来。 两眼一抹黑地刷题应该是最受欢迎的方式,简单粗暴且有效。然而,刷题就如同玩“扫雷”游戏,自学能力强 的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在受挫中步步退缩。通读教 材书籍也是常用方法,但对于面向求职的同学来说,毕业季、投递简历、应付笔面试已经占用大部分精力,厚 重的书本也因此成为巨大的挑战。 如 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 9.2. 图基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 9.3. 图的遍历 . 您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2. 内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。0 码力 | 178 页 | 14.67 MB | 1 年前3
Hello 算法 1.0.0b2 Python版了许多读者的评论问题,遇到最多的问题是“如何入门学习算法”。我渐渐也对这个问题好奇了起来。 两眼一抹黑地刷题应该是最受欢迎的方式,简单粗暴且有效。然而,刷题就如同玩“扫雷”游戏,自学能力强 的同学能够顺利地将地雷逐个排掉,而基础不足的同学很可能被炸的满头是包,并在受挫中步步退缩。通读教 材书籍也是常用方法,但对于面向求职的同学来说,毕业季、投递简历、应付笔面试已经占用大部分精力,厚 重的书本也因此成为巨大的挑战。 如 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 9.2. 图基础操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 9.3. 图的遍历 . 您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2. 内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。0 码力 | 186 页 | 15.69 MB | 1 年前3
Python 标准库参考指南 3.7.13 site 模块添加的常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4 内置类型 27 4.1 逻辑值检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.4 数字类型 --- int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.5 迭代器类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.6 序列类型 --- list, tuple, range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.7 文本序列类型 --- str . . . . . . . . . . . . . . . . . . .0 码力 | 1961 页 | 9.14 MB | 9 月前3
共 161 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17













