《Python基础教程》笔记 第6章 抽象
本章将介绍如何将语句组合成函数,详细介绍参数和作用域,还将讨论递归是什么及其在程序中的用途。 6.1 懒惰即美德 如果你在一个地方编写了一些代码,在另一个地方也需要使用。当然可以再写一遍,但是如果已编写好的代码更复杂呢?真正的程序员不会这样做。真正的程序员很懒——“懒”不是贬义词,而是指不做无谓的工作。懒惰即美德(laziness is a virtue)。真正的程序员会让程序更抽象(ab...
本章将介绍如何将语句组合成函数,详细介绍参数和作用域,还将讨论递归是什么及其在程序中的用途。 6.1 懒惰即美德 如果你在一个地方编写了一些代码,在另一个地方也需要使用。当然可以再写一遍,但是如果已编写好的代码更复杂呢?真正的程序员不会这样做。真正的程序员很懒——“懒”不是贬义词,而是指不做无谓的工作。懒惰即美德(laziness is a virtue)。真正的程序员会让程序更抽象(ab...
你已经见过几种语句(print语句、import语句和赋值),先来看看这些语句的一些其他用法,再深入探讨条件语句和循环语句。然后将介绍列表推导式,它虽然是表达式,但工作原理几乎与条件语句和循环语句相同。最后将介绍pass、del和exec。 5.1 再谈print和import 随着你对Python的认识更加深入,你可能发现有些自以为熟悉的方面隐藏着让人惊喜的特性。下面来看看print和i...
当需要通过编号来访问值时,列表很有用。本章将介绍一种可以通过名称来访问值的数据结构,称为映射(mapping)。Python中唯一的内置映射类型是字典。 4.1 字典的用途 字典(dictionary)(不管是现实中的还是Python中的)的结构让你能很容易地查找特定的单词(键)从而找到其定义(值)。 在很多情况下,字典都比列表更合适。例如,如果想创建一个小型数据库,在其中存储一些人的名...
本章将介绍如何使用字符串来格式化其他的值(比如用于打印),并大致了解字符串方法,例如分割、连接、搜索等。 3.1 基本字符串操作 所有的标准序列操作都适用于字符串。但是,字符串是不可变的,因此所有的元素和切片赋值都是非法的。 3.2 字符串格式化:精简版 将值格式化为字符串是一个重要的操作,需要考虑众多不同的需求。因此随着时间的流式,多种方法被添加到语言中。 历史上,主要使用字符串格式...
1.简介 AddressSanitizer(简称为ASan)是Google开发的一个C/C++内存错误检测工具,通过在编译时插入探测代码来检测释放后使用、缓冲区溢出(下标越界)、内存泄露等内存错误。该工具非常快,被检测程序平均只变慢2倍左右。 官方文档:https://github.com/google/sanitizers/wiki/AddressSanitizer 2.用法 Clan...
本章将介绍一个新概念:数据结构(data structure)。数据结构是以某种方式组织起来的数据元素的集合。在Python中,最基本的数据结构是序列(sequence)。 2.1 序列概述 Python有多种内置序列,本章重点讨论其中最常用的两种:列表(list)和元组(tuple)。字符串是另一种重要的序列,将在下一章讨论。 列表和元组的主要区别在于,列表是可以修改的,而元组不可以。...
在本章中,你将学习如何借助计算机能够听懂的语言——Python来控制计算机。Python的官方网站是 https://www.python.org/,官方文档:https://docs.python.org/3/。 首先,需要安装Python,或者验证是否已经安装。如果你使用的是macOS或Linux/UNIX,那么系统已经默认安装了Python。打开终端,输入python3并按回车键。你...
《Python基础教程》(Beginning Python: From Novice to Professional)(第3版) 网站 本书网站:https://folk.idi.ntnu.no/mlh/hetland_org/writing/beginning-python-2/ 源代码:https://github.com/Apress/beginning-python-3e...
本章将介绍用于数值计算的一些基本语言特性和标准库功能。 24.1 引言 本章的目的是介绍一些用于处理简单数值计算(numerics)问题的语言技术细节: 与内置类型相关的问题,例如精度和溢出 内置多维数组和Matrix库 随机数 标准库数学函数 复数 24.2 大小、精度和溢出 当我们使用内置类型时,数字被存储在固定大小的内存中。也就是说,整数类型(int、lon...
本章将介绍如何从文本中提取信息。在本章中,我们首先回顾标准库中最常用的文本处理功能:string、iostream和map。然后,我们将介绍正则表达式(regex),用来表达文本中的模式。 23.1 文本 本质上,我们无时无刻不在处理文本。除了图像和声音等二进制格式数据外,几乎所有其他信息都适合程序进行文本分析和转换。 23.2 字符串 字符串(string)是一个字符序列,并提供了一些...