前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《廖雪峰python3教程》| 书评 + 学习笔记干货

《廖雪峰python3教程》| 书评 + 学习笔记干货

作者头像
全栈程序员站长
发布2022-11-15 10:28:20
1K0
发布2022-11-15 10:28:20
举报
文章被收录于专栏:全栈程序员必看

近来想复习python,把廖老师的教程过了一遍。

分享两件事:

  • 谈一谈我对这本书的感受
  • 分享我整理的笔记

如果你正在考虑自己适不适合读《廖雪峰python3教程》,不妨看看我的书评~

我把知识盲点整理成了一份清单,你可以自测,然后参考我的学习笔记哦~


👀 PART 1. 谈谈这本书

廖雪峰python3教程》像一本python学习手册,庞大而全面,知识点编排系统,包含语法基础、进阶和实战应用。 1️⃣对于有编程基础的,整本书的绝大部分内容读起来都很友好,易理解,不会太打击人。2️⃣对于进阶的内容,多看几遍,配套练习,可以学习到新知识。3️⃣实战部分,和开发有关,看不太懂好像也没有太必要都看懂(因为我从事数据分析方向)。

相比在学校老师有限的课时教授,有一个优点、一个缺点:

  • ☑️优点:讲的更全、清晰、系统

《廖雪峰python3教程》涵盖更多的知识点,再学一遍,可以查漏,收获了不少新知识。课时有限,有的内容都省略了。

对于有的知识,在学校学的时候,老师没有过分强调,好像知道一些,也会用,但又说不清楚。 举个例子,关于函数的参数,看书再梳理一遍,我知道了参数有位置参数、默认参数、可变参数、关键字参数、命名关键字参数、参数组合,知道它们各自的区别和联系。在此之前,我没用过这么多各种参数(可能是我太菜了🤪),也没考究过它们各自的特点,因此看了书之后我觉得对知识点的理解更清晰、系统了。

  • ✖️缺点:没有讲常用的numpy、pandas、matplolib等包。

我觉得《廖雪峰python3教程》更多的是注重python语言其本身,虽然也讲了一些包(内置模块),但常用的(学校学过的)numpy、pandas、matplolib等包没有涉及。从数据处理、数据分析、可视化的角度来看,只看这本书是不够的。



📕 PART 2. 学习笔记分享

在边学习 《廖雪峰python3教程》,边在jupyter notebook上跑代码实例、整理笔记。整个学习下来,笔记非常庞大,我的盲点实在是太多了……╮( ̄▽ ̄””)╭

笔记也是非常personal的东西。一些我不会的知识点,可能你觉得太easy了;一些我会的你不会的知识点,我也没往笔记上记录。

所以,为了帮助大家更高效地运用我的笔记,我列了一份清单。如果有某个知识点你已经会了,那就可以跳过,有选择性的阅读我的笔记。

既然是盲点(难点)清单,所以不太适合新手小白参考我的学习笔记。新手可以先考虑收藏了这份博文,回头再看🙆‍♀️

清单有点长 ~~ 拉到最后可以直接看学习笔记。

📝清单如下:

  1. 你会用input()吗?比如,秋招的最后一大题编程题,就需要先把数据input进来。
  2. 看得懂转义字符吗?
  3. 理解变量在计算机内存中的表示。比如,

a = 'ABC'; b = a; a = 'XYZ'; print(b) 请问输出的结果是什么?

  1. 字符编码。ASCII?Unicode?UTF-8?
  2. 字符串编码。encode() , decode()
  3. 格式化字符串
  4. 对list的操作:追加元素到末尾、插入元素到指定位置、删除指定位置元素、替换元素
  5. tuple。tuple和list的区别?

t1 = (1) ; t2 = (1, ) 看得懂t1和t2吗?他们有什么区别?答案:t1是个数,t2才是tuple哦。

  1. if
  2. for x in … 循环
  3. while循环
  4. break
  5. continue。break和continue有什么区别?
  6. dict
  7. set
  8. 不可变对象。str,list谁是可变,谁是不可变的呢?
  9. pass语句
  10. 参数检查。isinstance()函数
  11. 默认参数。理解“默认参数必须指向不变对象”吗?
  12. 可变参数
  13. 关键字参数
  14. 命名关键字参数
  15. 参数组合
  16. 递归函数。练习题:汉诺塔的移动。
  17. 切片。练习题:利用切片操作,实现一个trim()函数。
  18. dict的迭代:从dict中取key,取value,同时取key和value。
  19. Iterable,判断对象是否可迭代对象。
  20. enumerate
  21. 列表生成式,比如 [x * x for x in range(1, 11) if x%2 == 0]
  22. 列表生成式中if … else,比如 [x if x % 2 == 0 else 0 for x in range(1,11)]
  23. 生成器。练习题:杨辉三角。
  24. 迭代器
  25. 变量可以指向函数
  26. 函数名也是变量
  27. 高阶函数 —— 传入函数
  28. map()
  29. reduce()
  30. filter()。练习题:用filter()求素数。练习题:回文序列。
  31. sorted()
  32. 函数作为返回值
  33. 闭包
  34. 匿名函数 lambda
  35. 装饰器
  36. 偏函数
  37. 理解python中 if name == ‘main’
  38. 理解面向对象编程
  39. 类和实例
  40. 数据封装
  41. 访问限制
  42. 继承
  43. 多态
  44. 静态语言 🆚 动态语言
  45. 获取对象信息:使用type()
  46. 获取对象信息:使用isinstance()
  47. 获取对象信息:使用dir()
  48. 操作一个对象的状态
  49. 实例属性和类属性
  50. 动态绑定方法
  51. 使用_slots_
  52. 使用@property
  53. 多重继承
  54. MixIn
  55. 定制类
  56. 使用枚举类
  57. Python的枚举类型
  58. type(), type()函数既可以返回一个对象的类型,又可以创建出新的类型。
  59. metaclass
  60. 错误处理。try ... except ... finally的错误处理机制。
  61. Built-in Exceptions。python内置有哪些错误类型。
  62. 调用栈,解读错误信息,定位错误。
  63. 记录错误,python内置的logging模块。
  64. 用raise语句抛出错误。
  65. 调试:用print()方法
  66. 调试:用assert来代替print()
  67. 调试:用logging代替print()
  68. 调试:pdb
  69. 理解、运行单元测试
  70. 文档测试
  71. 理解IO编程
  72. 文件读写,包括文本文件和二进制文件。
  73. StringIO,很多时候数据读写不一定是文件,也可以在内存中读写。
  74. BytesIO,在内存中读写二进制数据。
  75. 操作文件和目录
  76. 环境变量
  77. 序列化
  78. JSON
  79. 理解进程和线程
  80. 理解多进程
  81. 子进程
  82. 进程间通信
  83. 多线程
  84. 多进程 🆚 多线程,比较优缺点
  85. 理解线程切换
  86. 理解异步IO
  87. 理解分布式进程
  88. 正则表达式,匹配字符串。
  89. 使用正则表达式:re模块
  90. 正则表达式中需要转义的字符
  91. 用正则表达式切分字符串
  92. 正则表达式:分组,提取子串
  93. 正则表达式中的贪婪匹配
  94. 正则表达式的编译
  95. 常用正则表达式:验证邮箱
  96. datetime:包括构造日期,datetime和str的转换,时区的转换
  97. collections模块:namedtuple,deque,defaultdict,OrderedDict,ChainMap,Counter
  98. base64模块:用64个字符来表示任意二进制数据的方法
  99. struct
  100. 关于加密: hashlib,摘要算法
  101. 关于加密:hmac
  102. itertools模块:包括cycle(),chain(),groupby()。练习题:利用itertools模块,计算圆周率序列的前N项和。
  103. contextlib
  104. urllib模块:操作url
  105. Pillow模块:图像处理
  106. requests模块:用于访问网络资源
  107. chardet:在不知道编码的情况下,检测编码以百分之多少的概率可能是什么语言。
  108. psutil:process and system utilities的缩写,实现系统监控
  109. 理解网络编程,TCP/IP简介
  110. Python自动发送和接收电子邮件,包括各种附件的邮件
  111. Python使用MySQL

我知道,你可能没有耐心挨个看完这个问题清单,可能看到第40条左右就发现看不懂了。

因为这个是我个人的盲点整理,所以记录的都是我不会的🤣,所以你发现很多不会也非常正常~ 不过清单中的大部分,如果你静下心来去学习和阅读,你是可以理解和收获的,因为每一个知识点我也是自己看了一遍的~

知识点主要从《廖雪峰python3教程》中摘录的,学习过程中还参考了一些网络上的资料,整理而成的。如果你直接看我的笔记也不能理解,那直接去看廖大神的原博客吧,或者参考更多的书目和资料。


🙌 获得笔记

所有的笔记都记录在 《《廖雪峰python3教程》学习笔记干货 | 盲点整理》,jupyter notebook编辑的文件,获取文件通过百度网盘 👇

  • 链接: https://pan.baidu.com/s/1Zg6L0b3P9mZcHnDUvaym_Q
  • 提取码: ftc8

希望你也有所收获 ~ ❤️



如果喜欢这篇博文,请点赞👍支持哦!!
我会继续分享更多的笔记。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/231719.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月31日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 👀 PART 1. 谈谈这本书
  • 📕 PART 2. 学习笔记分享
  • 🙌 获得笔记
    • 如果喜欢这篇博文,请点赞👍支持哦!!
      • 我会继续分享更多的笔记。
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档