导图社区 Python阅读笔记
纯干货!你要的Python基础知识点整理好了!本文对变量、语法、条件循环、面向对象、函数、语法规则符、文件的读取及保存、错误异常这些方面进行了全量笔记整理。
编辑于2019-06-11 13:32:31Python基础教程第3版
第一章 快速上手:基础知识
1.4变量
在 Python 中, 名称(标识符)只能由字母、 数字 和 下划线(_)构成,且不能以数字打头 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle位置489).
1.6获取用户输入
这个数被 input( 以文本或字符串的方式)返回。通过使用 int 将字符串转换为整数 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 542-543).
1.7函数
整数总是向下圆整, 而 round 圆整到最接近的整数,并在两个整数一样近时圆整到偶数。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 593-594).
1.8模块
要导入模块,可使用特殊命令 import。 例如:import math 我们使用 import 导入模块, 再以 module. function 的方式使用模块中的 函数 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 598-599).
通过使用命令 import 的变种 from module import function, 可在调用函数时不指定模块前缀。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 621-623). .
1.9保存并执行程序
1.9.1从命令提示符运行Python脚本
切换到了 Python 可执行文件( 在 Windows 中为 python. exe, 在 UNIX 中为 python)或将该可执行文件所在的目录加入到了环境变量 PATH 中( 仅适用于 Windows) 即可通过python.py 运行脚本 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 708-710)。
1.9.2让脚本像普通程序一样
让脚本的第一行以字符序列#!开始,并在它后面指定 Python的绝对路径。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 720-722).
1.9.3注释
在Python中,井号(#)比较特殊:在代码中,井号后面到行尾的所有内容都将被忽略。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 748-749).
1.10字符串
第二章 列表和元组
2.1序列概述
列表 和 元组的主要不同在于,列表是可以修改的,而元组不可以。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle位置1074).
序列中的每个元素都有编号, 即其位置或索引, 其中第一个元素的索引为0, 第二个元素的索引为 1, 依此类推。 最常用的序列:列表和元组 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1065-1066).
Python 支持一种数据结构的基本概念,名为容器(container)。 容器基本上就是可包含其他对象的对象。两种主要的容器是序列(如 列表 和 元组)和映射(如字典)。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1087-1088).
2.2通用的序列操作:索引、 切片、 相加、 相乘 和 成员资格检查。
2.2.1索引:访问单个元素
>>> greeting = 'Hello' >>> greeting[0] 'H' 字符串 就是由字符组成的序列。 索引0 指向第一个元素,这里为字母 H。 Python 没有专门用于表示字符的类型, 因此一个字符就是只包含一个元素的字符串。
>>> string = "Hello" >>> string[-1] 'o' 当你使用负数索引时,Python将从右( 即从最后一个元素) 开始往左数, 因此-1是最后一个元素的 位置。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1102-1103).
>>> "string"[1] 't' 对于字符串字面量(以及其他的序列字面量),可直接对其执行索引操作 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1105-1106).
如果函数调用返回一个序列, 可直接对其执行索引操作。 >>> fourth = input(' Year: ')[3] Year: 2005 >>> fourth '5' fourth = '2005'[3] Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1111-1112).
2.2.2切片:访问特定范围内的元素
>>> tag = '<a href=" http:// www. python. org"> Python web site</ a>' >>> tag[9:30] 'http:// www. python. org' > >> tag[32:-4] 'Python web site' 使用两个索引,并用冒号分隔 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1131-1132)
切片适用于提取序列的一部分 其中的编号非常重要: 其中第一个索引指定的元素包含在切片内 但第二个索引指定的元素不包含在切片内(左封闭,右开放) Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle位置1133).
>>> numbers[-3:0] [] 事实上,执行切片操作时,如果第一个索引指定的元素位于第二个索引指定的元素后面结果就为空序列。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1150-1151).
在普通切片中,步长为 1。 步长为正数时,它从起点移到终点,而步长为负数时,它从终点移到起点。 步长为负数时,第一个索引必须比第二个索引大。 >>> numbers[8:3:-1] [9, 8, 7, 6, 5] >>> numbers[10:0:-2] [10, 8, 6, 4, 2] >>> numbers[0:10:-2] [] >>> numbers[::-2] [10, 8, 6, 4, 2] >>> numbers[5::-2] [6, 4, 2] >>> numbers[:5:-2] [10, 8] Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle位置1170).
2.2.3序列相加:可使用加法运算符来拼接序列
>>> [1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] >>> 'Hello,' + 'world!' 'Hello, world!' >>> [1, 2, 3] + 'world!' Traceback (innermost last): File "<pyshell>", line 1, in ? [1, 2, 3] + 'world!' TypeError: can only concatenate list (not "string") to list 一般而言,不能拼接不同类型的序列。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1191-1192).
2.2.4乘法:将序列与数x相乘时,将重复这个序列x次来创建一个新序列
>>> 'python' * 5 'pythonpythonpythonpythonpython' >>> [42] * 10 [42, 42, 42, 42, 42, 42, 42, 42, 42, 42] Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1197-1198).
None、空列表和初始化 空列表是使用不包含任何内容的两个方括号([])表示的。 [0]*10 将创建一个包含10个0的列表 [None]*10 将创建一个包含10个None的列表 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1200-1201)
2.2.5成员资格:要检查特定的值是否包含在序列中,可使用运算符 in
它检查是否满足指定的条件,并返回相应的值:满足时返回 True,不满足时返回 False。 #检测‘w’‘x’是否包含在权限变量中 >>> permissions = 'rw' >>> 'w' in permissions True >>> 'x' in permissions False #示例 检查 提供 的 用 户名 mlh 是否 包含 在用 户 列表 中, >>> users = ['mlh', 'foo', 'bar'] >>> input(' Enter your user name: ') in users Enter your user name: mlh True Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1229-1231)
相比于其他示例,检查字符串是否包含'$$$' 的示例稍有不同。一般而言,运算符 in 检查指定的对象 是否是序列(或其他集合)的成员(即其中的一个元素),但对字符串来说,只有它包含的字符才是其成员或元素, Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1245-1248).
内置函数 len、 min 和 max 很有用,其中函数 len 返回序列包含的元素个数,而 min 和 max 分别 返回序列中最小和最大的元素 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1262-1267).
2.3列表:Python的主力
2.3.1 函数list
鉴于不能像修改列表那样修改字符串, 因此在有些情况下使用字符串来创建列表很有帮助。 >>> user = list('myy') >>> user ['m', 'y', 'y'] 注意:可将任何序列(而不仅仅是字符串)作为list的参数。 Magnus Lie Hetland. Python基础教程(第3版)(图灵图书) (Kindle 位置 1277-1278).
第三章 学习者的不同境界