Python 101 - 对于非计算机专业的学生,如何开始 Python 学习

Published
August 26, 2017
Updated
Last updated April 10, 2022
Description
Progress
Author
写给女朋友的计算机教程系列。本文主要描述入门 Python 的一些学习路线和学习方法,以及参考资料(不涉及代码)。
这篇文章主要针对非计算机方向从业者。

第一章——在开始之前

1.学习方法

把握大致的学习路线

目前的要做的事情其实很简单,主要包括
  • 掌握Python的基础语法
这条是最基础的也是最好达成的,因为语法部分主要是记忆的东西
  • 学会使用VScode或者其他编辑器书写Python
这个通过经常使用就能达成,从模仿到理解
  • 对相关的计算机知识有所了解(就像计算机科学导论涉及的内容)
计算机语言只是一个工具,关键在于要如何使用它,因此这时就需要编程者拥有一定的知识储备。放心,所有我们需要的答案都在网上,世上无难事,只怕有心人

明确每一次的学习目标

在人们初学计算机语言的时候,往往会面对一大堆新的语法、新的知识而不知所措。
殊不知与小白相比,那些有经验的程序员并非拥有更强的学习能力,而是他们形成了一套计算机领域的学习模式。
而这种学习模式的关键就在于,清晰的学习目标
我们可以将目标大致分为两种
  • 混个眼熟
  • 比较熟练的掌握
至于为什么不存在“精通”这一选项,是因为编程者不需要记忆每一个细节,只需要记忆如何找的这些细节,编程不是考试,搜索引擎是鼓励使用的。(当然这段话有点绝对了)
在第一次学习的时候,就要通过记忆和临摹代码达到混个眼熟的境界。这时尽管会有一头雾水,但是一定要告诉自己这是正常现象,先往后学习。到了一定程度以后就能渐渐理解了。当然,之后就是熟练掌握。
除了熟练度的目标之外,学习路线也给出了三个目标,在编程的时候,要注意提升这三个能力。

相互参照、印证

大多数时候学不懂是教程的锅,因为当一个知识点没有前因后果的逻辑支撑时,人们就很难将知识点联系起来。最常见的表现就是在想:“这有什么意义?”。
这个时候我们就不能仅仅拘泥与一份教程,应当从多个资源中整合出完整的信息。
有必要的时候甚至可以看看官方文档
什么是官方文档?
官方文档(documents)是关于这个项目/语言/软件最详细的定义和介绍,实际上整个项目/语言/软件的发展就是参考了官方文档。
Python 有自己的官方文档(很棒),anaconda、VScode也有。
官方文档告诉你每一个使用方式、使用细节、和最佳使用方法。
但是大多数是英文哦
一般在官网上以及google搜索*** 官方文档就能找到
当然初学者不需要一开始就使用,知道有这么个东西就好

兴趣驱动学习

如果有了兴趣这个buff,学习真的是一件很有意思的事情
编程的兴趣是很容易创造的
  • 想想看,你可以用Python制作一个网络爬虫,爬取任何信息
  • 再利用Python自带的库将数据处理后输出成漂亮的图标,寻找其中的逻辑
  • 甚至还可以利用机器学习,让机器对新的输入有了分析能力
  • 此外,可以使用Python编写脚本,代替原来重复的鼠标劳动
  • 更美妙的是,以上内容的代码量都可以控制在100~200行,是其他语言的几分之一呢
  • 还有,你知道从excel读取信息只需要一行代码么
  • 而且,你知道给编辑软件换不同的配色就像换装一样上瘾么
  • 最后,你甚至可以和其他人一起开发你们想要的东西
有了这么多理由,学习就有了动力。
而且编程不止有这些高大上的幻想理想,还有很多有趣的小目标
  • 比如运行以后输出hello world
  • 在文件里输出hello world
  • 如果输对了用户名和密码就输出hello world
  • 利用网络输出hello world
  • 输出彩色的hello world
  • ······(怎么看上去这么无聊)
咳咳,总之:
  1. 制定一个达得到的小目标
  1. 利用现有的能力和搜索到的知识完成它
  1. 获得成就感

2.学习资源

名称
分类
评价
推荐指数(1-5)
网站
比较基础和友好,我经常使用
5
网站
比菜鸟教程难一些,知识更深
4
博客园 and CSDN
博客网站
这两个博客网站里会有大量相关博客,用搜索引擎搜索知识点的时候就会看见
4
书籍
网上都在推荐这个入门,我有时间也看看
4
文档
强烈推荐在有学习一段时间后印证着阅读
5
Python语言程序设计
MOOC
没有看过,只能说正常吧(其实网课可以跳着看)
3
网站
这个适合霏哥
3
网站
这个跟acm的形式比较像(不过没有时间限制),应该很锻炼能力,适合进阶
3
其实前五个初学的时候会比较常用,另外就是google,因为有好多东西是你实际写代码的时候才需要的,这时候一定要搜一下,然后自己整理,融会贯通。

3.anaconda 以及 VScode

终于写到了这里。目前我是这两者都用的,因为从某种意义上他们可以互补。

什么是anaconda

简而言之:
  • 提供了包管理功能,Windows平台安装第三方包经常失败的问题得以解决
  • 默认安装了很多好用的包
  • 其中的Spyder 和 jupyter notebook是神器

什么是VScode

什么?你问什么是文本编辑器?
有了它,你就不需要 记事本

安装及使用

打算远程演示,因为内容确实比较多
我会把笔记做在oneNote里?
spyder 用来写大型项目?
(jupyter notebook可以用来记笔记)
在2019-03-26,我使用VSCode写Python的概率远远高于其他编辑器