目录
第1章 起步
终端命令:
cd 在文件系统中导航
ls 列出当前目录的所有文件(Linux/OS X)
dir 列出当前目录的所有文件(Windows)
第2章 变量和简单数据类型
2.1 运行hello_world.py时发生的情况
编辑器的不同颜色:语法突出功能(可帮助快速找出语法错误)
2.2 变量
Python采用基于值的内存管理,变量存储的是值的引用和地址,而非值本身
命名规则:
(1)可包含字母(建议小写,避免l和O)、下划线(代替空格作分隔)、数字(不可开头)
(2)勿使用Python的保留关键字和内置函数名
(3)简短+描述性,提高易读性
命名错误NameError:使用前忘记赋值(变量必须有初始值);拼写错误
2.3 字符串(单双引号均可,但建议保持一致)
方法:Python可对数据执行的操作,需加()
空白:任何非打印字符,包括空格、制表符\t和换行符\n
(1)删除空白(剥除函数,存储输入前用于清理):lstrip()、rstrip()、strip()
(2)修改大小写:title()首字母大写、upper()全大写、lower()全小写
(3)“+”合并拼接字符串,join()效率更高
(4)replace(old, new),字符串内容替换
(5)split(),依据分隔符拆分字符串
*为保存修改,有时需将新值存回原变量
语法错误SyntaxError:引号不匹配
2.4 数字
包括:整数、浮点数(计算结果的小数位数可能不确定)等
round(数值,期望精确到的小数位数),位数指定为负数,将圆整至最近的10、100等整数倍
运算符:+ - * / 乘方** 求模返回余数%(可用于判断奇偶)
空格不影响计算,用于提升可读性
类型错误TypeError:字符串中不可直接使用整数,可调用str()
2.5 注释
阐述代码目的与方法,有意义、清晰、简洁,使代码易于理解
普通注释(#),文档字符串(’’‘三引号’’’)
2.6 Python之禅(import this)
避繁就简,简约而清晰
先编写行之有效的代码,再考虑优化改进,不要想着一步到位
先行动起来,不要将想法仅仅停留在口头上
第3章 列表简介
3.1 列表是什么
列表:有序集合,可变,[ ]
索引:0开始,-1末尾(-2、-3类似)
3.2 修改、添加和删除元素
修改:data[0]=“a”
添加:append()末尾,动态创建列表;insert(0,“a”)插入
删除:
(1)根据位置:
删除后不使用:del data[0]
删除后仍使用:t=pop(0),不指定索引默认删除末尾(弹出栈顶元素)
*pop()结合while循环可在列表间移动元素
(2)根据值:
remove(),只删除第一个指定的值
*结合while循环可删除全部特定值
3.3 组织列表
永久排序:data.sort()
临时排序:sorted(data(,key)),默认按字母顺序,key可指定一个参数的函数,从每个列表元素中提取比较键;可指定reverse=True反向排序(data.reverse()永久反转)
len()求长度
3.4 使用列表时避免索引错误
索引错误IndexError:“索引差一”特征;列表为空时索引访问;可print列表或长度帮助解决
第4章 操作列表
4.1 遍历整个列表
for循环:自动完成重复工作,对数据集的每个元素执行整体操作;使用缩进判断代码行是否在循环内,无专门结束指令;循环结束后应提供总结性输出或继续其他必需任务
# cat为存储每个值的临时变量,命名任意,但建议有意义
# 使用单数和复数式命名,增加可读性
for cat in cats:
4.2 避免缩进错误IndentationError
缩进使代码整洁而结构清晰,更易读
缩进错误:忘记缩进;不必要的缩进;遗漏冒号
会引发真·缩进错误/语法错误/逻辑错误(语法上合法,但执行结果不符合预期)等
4.3 创建数值列表
range(start,end(,step)),取值左闭右开;list()转换为列表
简单计算:min()、max()、sum()
列表解析式:列表=[表达式for变量in序列 (if…)](无冒号)
*临时变量的使用需谨慎
4.4 使用列表的一部分
切片:取值左闭右开
data[:5]从头开始,data[5:]至末尾,data[-3:]返回最后三个元素
list_a=list_b[:]浅复制,建立副本,修改不互相影响
list_a=list_b 两个变量指向同一个列表
4.5 元组
元组:有序集合,不可变,( ),相比于列表是更简单更快的数据结构;for循环遍历
修改:不可修改单个元素,可以重新定义整个元组的值
4.6 设置代码格式(使易于阅读)
缩进:每级4个空格,不要混用制表符
行长:代码不超过80字符/行,注释不超过72字符/行
空行:适度
第5章 if语句
5.2 条件测试
条件测试:if语句的核心,一个值为True或False的表达式
(1)检查是否相等:==(区分大小写,可使用upper()/lower()忽略),不相等:!=
(2)数学比较运算符
(3)检查是否(不)包含:(not) in
(4)检查多个条件:and、or
布尔表达式:条件测试别名,返回T/F,用于高效记录并跟踪程序状态或重要条件
5.3 if语句
if 条件测试:
# 结果为True时需执行的操作
两种情形:if-else结构
多种情形:if-elif(任意数量)-else(可省略)结构
*elif明确相应测试条件,else包罗万象,可能引入无效甚至恶意数据,两者根据需要选用
执行一个代码块,测试一个特定条件:if-elif-else结构
执行多个代码块,测试多个特定条件:一系列独立的if语句
5.4 使用if语句处理列表
if 列表名:(列表不为空时返回True)
5.5 设置if语句的格式
比较运算符两边添加空格
第6章 字典
6.2 使用字典
字典:无序集合,可变,{ },包含一系列键-值对(两个相关联的值)
{key:value}:键不可重复,且只能是不可变数据;值可重复,且可以是任何Python对象
添加:dict[key]=value(通常先定义一个空字典再添加)
修改:dict[key]=new_value
删除:del dict[key]
确定key一定包含在字典中:dict[key]
不确定key是否包含于字典:dict.get(key, key不存在时返回的指定值)
*若字典/列表/print语句/字符串等较长,需分成多行,保持缩进并对齐;也可使用“+=”创建多行字符串
6.3 遍历字典
遍历键值对:for k,v in dict.items():(k,v可使用任何描述性名称)
遍历所有键:for k in dict/dict.keys():(返回键列表)
按序遍历键:for k in sorted(dict/dict.keys()):
遍历所有值:for v in dict.values():(返回值列表,可使用集合set()去重)
*集合:无序集合,可变,{ },元素不重复,且需不可变;使用set()方法新建
*字典和集合的in操作快于列表
6.4 嵌套
字典中嵌套字典(只能作为值)
字典中嵌套列表(只能作为值)
列表中嵌套字典
列表中嵌套列表
*嵌套层级不应太多
附:Python内置对象类型总结
类型
特征
备注
字符串
不可变
数字
不可变
元组( )
不可变,有序
简单
列表[ ]
可变,有序
效率低
字典{ }
可变,无序
键不重复,不可变;值可重复,无限制
集合{ }
可变,无序
元素不重复,不可变;需用set()新建
文件、布尔、None
点赞
收藏
分享
文章举报
七稻
发布了5 篇原创文章 · 获赞 0 · 访问量 217
私信
关注