这个python教科书怎么样

首先,关于你的需求,我建议你用中文学完 Python 基础之后,看看官网文档,或者看看大名鼎鼎的CS61A课程,看看真实的语境下怎么表达有关 Python 的概念。

然后作为一个考了 2 次的学渣,谈一些个人的看法吧:

关于教材,我推荐这里提到过的做社会科学研究的一定要熟练掌握一门编程语言 - 闲聊吹水 - FreeMdict Forum北理的嵩天老师《Python 语言程序设计基础》(你问的教材一下统称《二级教程》),理由:

  1. 有专属的视频课:中国大学 MOOC在开课期间会有助教解决你的问题,B 站上也有人搬运完整的视频;
  2. 嵩天老师也是《二级教程》的编者,但二者编写风格不一样——尤其是框架结构上,语言风格也略有区别。所以《Python 语言程序设计基础》更适合学习,而《二级教程》(可能)和谭浩强的 C++是一个风格(没读过谭前辈的书,这里是强调不好理解和无趣,谭前辈不要打我 233),估计除了备考,没有谁会看得津津有味,而且排版也没有《Python 语言程序设计基础》好
  3. 2 本书在基础知识部分的深度是一样的,但注意 2 本书还是有不一样的地方:《Python 语言程序设计基础》的后半部分介绍的 PIL、request 等库都不在 2018 年考纲范围,而《二级教程》,多了 2 个(在考纲范围内的)库:time、Wordcloud(标注的是可选……但我在备考刷题时一次都没有碰到过)
  4. 我觉得只求拿证的话,更值得买的东西是 NCRE 无忧考吧家的题库(某宝和某多多会比官网便宜 5 元)。我第一次考前买了《二级教程》简单翻了下,上考场了才发现怎么考的内容全是我没注意的小细节(反转列表、字典保存计算更新数据),而第二次考前刷完了他家的题库,考试抽到的就是一模一样的原题。至于没有拿到优秀,很可能是因为我选择题做的太差了吧……
  5. 个人感觉就算把教材背下来,也比不上自己动手敲一遍代码(哪怕抄)。我开始刷题的时候速度很慢,因为解题要用技巧是自己看书时没注意的地方。所以一开始基本就是:看一眼题目,想几分钟,把能写的代码都敲上然后提交看眼评分(这个很重要哇,没有老师告诉你写得对不对的话,怎么进步呢)。然后把标准答案的代码缝合到自己的代码上再提交(缝合的过程往往需要改很多地方,不是真的照抄,有时候也会用与答案不一样的写法),直到满分为止,找个地方把满分的代码保存好,睡前复习下。过几天把自己抄过的题再做一遍,这一遍尽量先不看答案,看看自己能做到哪一步,然后对照满分代码反思总结下,用注释#写在代码旁边。
  6. 实际上,我代码能力提高并不是在备考期间,而是自己折腾一些东西的时候:比如读写、操作文本文件是我在修改叶峻峣的一个的 Python 脚本时熟练掌握的,pyinstaller 是我在反复打包自己写的工具时形成的肌肉记忆,字典类型的强大是我在实习时编写代码才逐渐意识到的……等等,所以你最好找到一个让自己有持续的动力去啃代码的动机,不然恐怕无法说服自己跨过最难的入门阶段。最好的打开方式莫过于找一个简单、有趣、又实用的项目,边改边翻书了(比如论坛里那些制作词典的工具,再比如……日本語非辞書形辞典 233,这个项目的 v1、v2 版本代码真的比那些爬虫什么的要简单得多)

然后补充一些考试技巧:

  1. 提前熟悉 Python 的 IDLE 编辑器,没有补全功能写着真的很不习惯
  2. IDLE 可以调字体和背景颜色
  3. 考场的电脑也可以翻 Python 官方提供本地文档,想不起来某个函数了可以翻一下
  4. 反转列表元素:没有反转二叉树那么难,就是一句话ls[-1::-1]
  5. 字典类型在考试中会用到的最有意思的的操作是d[i]= d.get(i,0)+1,这个技巧在 2 本书讲解字典类型时都没有强调,都是在实际项目中直接抛出来的
  6. 有一道题会用到正则,大致要求是给《八十天环游地球》的 TXT 文档编写目录——这个用关键字提取然后手动剔除不符合要求也可以完成。但还有其他更复杂的需求,手动剔除的话时间真的不够。我第一次考试最后一道大题就是这个,只能说自己运气真的太差了,题库里面将近 20 道大题,只有这一道需要用正则,其他都是什么统计人物出场次数这种常规的文本处理
  7. 选择题要提前背,除了软件工程、数据库原理这样的公共知识,还会考 Python 的一些细碎的知识,不准备下的话,估计会错很多——因为这个部分不合格的话真的不划算

最后还是分享一些可能有用的东西,不然也对不起你花时间听我哔哔这么久:

《Python 语言程序设计基础》PDF 版

  1. 用 ABBYY 处理过,想不起来某些东西可以用搜索快速找
  2. 手动编写了目录,方便跳转、阅读
  3. 有少量铅笔的批注,但只有几页

NCRE 题库练习代码

  1. 没有题目,分享出来只是觉得我的笔记可能会帮你从不一样的角度思考,顺便给一个进度参考
  2. 请忽略那些哈哈哈(囧),这个是我写给自己用的笔记,还没有系统的整理

补充实物的图片:


标注了本书的意思是《Python 语言程序设计基础》没有提到而《二级教程》中有的内容,页码指的是实体书,不是PDF

2 个赞