读书笔记 | Python学习之旅 Day2

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
踩过的坑
  • 验证步骤时,与书本描述不一致,有几个坑(跟python无关)
    • dir命令得到的信息很多,不像书本简洁,也没有文件名信息
      • 要跟书本一致,需修改为 dir /b
    • 文件存储不在C盘时
      • cmd之后,直接先输盘符,切换成功后再补充路径
      • 另外,路径输错,需要返回上一级的为 "cd .." (两点)
其他
  • 感受
    • 书本白天啃得很快,晚上上机实操时,发现看得再爽也要动手写,否则就会像没下个水不会游泳。
    • 动手故意试错时,两个错误
      • 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循环
  • 组织列表
    • sort 永久性排序,按首字母,要注意所有值为小写
      • table.sort() 正序
      • table.sort(reverse=True) 逆序
    • sorted 临时性排序
      • sorted(table)
    • reverse() 永久性反转,可逆(再反转一次)
    • len() 获取列表长度
      • 计算时从1开始,没有差一现象
    • 注意索引差一现象,避免索引错误,可用table[-1]获取最后一个
其他
  • 感受
    • 昨天看excel部分就多次提到列表,今天看完这部分,更有感觉了
      • 像索引从0而不是1开始

第4章 操作列表

知识点
  • For循环 编列列表
    • 注意格式: For...in...:
      • 末尾冒号不要漏
      • 下一行要缩进(indent),直到要循环的部分结束
        • 通过缩进控制,不用next了,与VBA差异明显
        • 要特别留意,避免缩进错误
      • 再次提到 名称上单数/复数区分单个元素/列表
  • 创建数值列表
    • 函数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 或关闭输出窗口
  • 切片 [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时,故附上两个编辑器的截图说明


    读书笔记 | Python学习之旅 Day2_第1张图片
    Geany80设置.png
读书笔记 | Python学习之旅 Day2_第2张图片
GeanyTab4设置.png
读书笔记 | Python学习之旅 Day2_第3张图片
PyCharm Tab4设置.png
读书笔记 | Python学习之旅 Day2_第4张图片
PyCharm80设置.png

你可能感兴趣的:(读书笔记 | Python学习之旅 Day2)