Python学习之旅 读书笔记系列
Day 2 (2018.03.16)
《Python编程从入门到实践》
第1章 起步
知识点
- Python分终端会话执行和编辑器执行,终端执行的特征为 “>>>”
- Python安装:
- 官网下载速度不错,window稍微留意32/64位版本,安装简单
- 唯一留意“安装时,选择Add Python to PATH”
- 验证:win+Run -> CMD -> python
- 有版本信息即安装正常
- 无,需要设置路径,最直接就重装(选中Add PATH)
- 终端关闭会话 "Ctrl + Z" 或 exit(),前者最简单,后者要留意括号
- 编辑器安装:书本推荐 Geany,军大推荐 Pycharm(社区版)
- 个人体验,建议先参照书本使用Geany
- Geany界面更简洁,跟书本内容配套,等上手后再换也不晚
- Pycharm界面内容太多,会对入门多一些干扰
- 如果Python有设路径,Geany需配置中增加路径信息
- 执行命令为 “Excute” / F5
- 个人体验,建议先参照书本使用Geany
踩过的坑
- 验证步骤时,与书本描述不一致,有几个坑(跟python无关)
- dir命令得到的信息很多,不像书本简洁,也没有文件名信息
- 要跟书本一致,需修改为 dir /b
- 文件存储不在C盘时
- cmd之后,直接先输盘符,切换成功后再补充路径
- 另外,路径输错,需要返回上一级的为 "cd .." (两点)
- dir命令得到的信息很多,不像书本简洁,也没有文件名信息
其他
- 感受
- 书本白天啃得很快,晚上上机实操时,发现看得再爽也要动手写,否则就会像没下个水不会游泳。
- 动手故意试错时,两个错误
- invaild syntax (无括号/少括号时)
- invaild character in identifier (中文括号时)
- 学Python的3个小目标
- 工作上一堆表格数据整理(目前VBA抓,想看Python是否更强)
- 前程无忧等招聘网站爬任职要求
- 数据分析与图片生成(呈现是否更佳,柔性是否更好)
第2章 变量和简单数据类型
知识点
- 变量:
- 可反复赋值
- 牢记以下规则
- 只能包括字母,数字和下划线,且不能以数字开头
- 不能含空格,分隔单词用下划线
- 简短又有描述性,需避免与系统关键字和函数名重复
- 尽量全部小写,且避免用小写的"l"和"o"
- 字符串 string
- 引号和撇号是方便灵活写字符串,需注意前后呼应
- 容易出现语法错误,且不易找出,多使用语法高亮功能
- 修改大小写的三个方法(方法后必须接一对括号)
- string.title()
- string.upper()
- string.lower()
- 合并字符串 (+)
- 制表符(\t)及换行符(\n)
- 直接连接,中间无空隙,如">>>print("\tPython") "
- 可同时使用 "\n\t" = 换行且开头有制表符
- 删除空白的三个方法,临时删除,需要永久删则需把值存进变量
- string.rstrip()
- string.lstrip()
- string.strip() 删除所有
- 引号和撇号是方便灵活写字符串,需注意前后呼应
- 数字
- 整数
- N乘方 ** N
- 通过括号改运算次序
- 空格不影响运算
- 浮点数(带小数点的数字,比如有时间的日期)
- 小数位数可能不确定
- 函数str() 数字转字符
- ... + str(age) + ...
- 整数
- 注释
- "#" ,需有意义,清晰且简洁
- The Zen of Python(看过军哥的文章,终于自己动手运行了下)
- import this
其他
- 感受
- 本章较简单,操作也无异常
- Zen需要多领悟,不要纠结代码的完美
第3章 列表简介
知识点
- 列表 [,,,]
- 按一定顺序排列的元素(有对照的索引号)
- 元素间没有任何关系
- 给列表定义名称时用复数更形象
- print 列表时,[]也会打印出来,加上索引号[1]就只输出对应元素
- 索引从0开始,记得减一,要从后访问,可以便捷[-?]
- 列表增删元素
- 修改元素 索引[?] = “*” 直接赋值
- 添加元素 append(末尾) & insert(任何位置)
- table.append('?')
- table.insert(0,'?')
- 删除元素
- 依位置删除 del & pop
- del table[0]
- table.pop() 默认最后位置,弹出效果(不再存在原列表)
- table.pop(0) 指定位置
- 依内容删除 remove
- table.remove('?') 只删除第一个,如果要删除所有则通过For循环
- 依位置删除 del & pop
- 组织列表
- sort 永久性排序,按首字母,要注意所有值为小写
- table.sort() 正序
- table.sort(reverse=True) 逆序
- sorted 临时性排序
- sorted(table)
- reverse() 永久性反转,可逆(再反转一次)
- len() 获取列表长度
- 计算时从1开始,没有差一现象
- 注意索引差一现象,避免索引错误,可用table[-1]获取最后一个
- sort 永久性排序,按首字母,要注意所有值为小写
其他
- 感受
- 昨天看excel部分就多次提到列表,今天看完这部分,更有感觉了
- 像索引从0而不是1开始
- 昨天看excel部分就多次提到列表,今天看完这部分,更有感觉了
第4章 操作列表
知识点
- For循环 编列列表
- 注意格式: For...in...:
- 末尾冒号不要漏
- 下一行要缩进(indent),直到要循环的部分结束
- 通过缩进控制,不用next了,与VBA差异明显
- 要特别留意,避免缩进错误
- 再次提到 名称上单数/复数区分单个元素/列表
- 注意格式: For...in...:
- 创建数值列表
- 函数range()
- range(1,5)
- 前者为开始的数值(含),后者为到达的数值(不含)
- 差一行为特别留意,避免犯错
- 函数list() 转列表
- list(range(1,6))
- range(x,y+1, z)
- x 为起始值
- y 为终止值,range中要加1成为到达值
- z 为步长 不断在x上加z,直到到达y+1
- 统计计算 min(table),max(),sum()
- 列表解析 用for循环整合成一行
- 更高级用法
- 列表 = [变量**运算 循环(数字列表)] 循环不再要冒号,示例:
- squares = [values**2 for value in range(1,11)]
- pring(squares)
- 停止输出命令:ctrl + c 或关闭输出窗口
- range(1,5)
- 函数range()
- 切片 [x:y-1] (range(x,y+1)) 同索引号
- [0:3] = 0,1,2
- [:4] 未指定第一个索引,自动从列表开头开始
- [2:] 未指定最后一个索引,终止于末尾
- [-3:] 同样可以利用倒序
- 切片比较适合显示数量合适的信息
- 复制列表时必须等于切片
- friend_foods = my_foods[:] 正确有效,两个独立列表
- friend_foods = my_foods 无效,为同一列表
- 元组 tuple 一系列不能修改的元素
- 用圆括号而不是方括号,注意与列表区别
- (200,50)
- 修改是被禁止的,可以重新赋值
- 用圆括号而不是方括号,注意与列表区别
- 设置代码格式
- 目的:易读 (符合ZEN)
- 要养成习惯
- 格式设置指南PEP(python enhancement proposal)
- 官网下载版本时有改版PEP的特别说明
- 格式要求:
- 缩进 统一 4个空格 (可设置tab键)
- 行长 <80字符,注释要小于 <72字符 (可设置视觉标识)
- 空行 功能性区分时,提供可读性,但不要过多使用
其他
- 感受
- 最后一节强调写代码的习惯,不能认同太多,趁自己现在可塑性在,养成良好的习惯很重要
- 差一错误感觉真的容易犯,待后续了解有没有更好的方法避免此类错误
踩过的坑
-
在设置Tab键和行长标识时花费了些时间,尤其是PyCharm时,故附上两个编辑器的截图说明