叶子带你学 Python | (一)一切的开始
在开始我们的学习之旅之前,请先容许我谈谈写这个系列的缘由。
现在网络上已经有很多针对 Python 的教程,相关的书籍也不在少数,在这样一个热门领域,我作为非头部作者,为什么要写这样看起来有些像营销号的文章呢?
其一,现有各大内容平台上的教程,其信息密度很低,甚至很多内容就是”学了之后能干什么 -> 加群领资料 -> 付费“这样传统的商业模式。
其二,很多人并不明确自己的学习目的,选择的路线可能是错误的。
其三,最初的简书是一个技术平台,在转型成为泛内容平台后,干货依然是平台发展的核心。
这份教程不会涉及 Python 在特定领域的应用,但我会在这个系列的最后,根据自己的使用经验和感受推荐一些主流领域的第三方库,大家可以选择对应领域自行摸索前进。
说了这么多,后面都是干货了。
Python 是什么
我自己都觉得这个标题有点像营销号......
可能大家已经从各种渠道上了解到,Python 经常被用于一种叫做”爬虫“的程序开发中,但 Python 并不等于”爬虫“。
同样的,Python 也不是一个纯粹的数据分析工具。
我是这样定义 Python 的:
Python 是一门面向对象、动态类型的解释型语言。
如果你之前没有学习过其它编程语言,对于这句话你大概率会一脸懵。
简单来说,Python 就是一门编程语言,所谓”面向对象“等等只是它具有的功能,就像“简书”是一个写作平台,而”简信“是它的功能。
准备 Python
是的,直接进入正题,这个系列不讲学了 Python 能做什么,这方面的内容一搜一大把,大可自己慢慢选择。
Python 的开发环境比 C 和 C++ 简单很多,其实就是下载一个软件的事。
如果你在百度上直接搜索”Python“,最前面的大概率是几条广告。Python 的官网在这里:https://www.python.org,是的,全英文的。
考虑到大家的学习成本,这里给出各系统的下载页面链接:
-
Linux:没链接,自己用包管理器装
下面以 Windows 系统的下载页面举例:
点击红框所示的位置,你看到这份教程的时候,版本号可能不同。不要管下面的 2.7.18 版本。
把页面拉到最下方,根据你的系统位数选择对应的版本,如果不确定选择第一个(32 位)。
由于服务器位于国外,下载速度会比较慢,耐心等待。如果你知道如何解决这个问题,那就去解决一下。
下载好之后打开软件,界面不出所料是英文。一定要勾选红框中的 Add Python 3.x to PATH,不然你大概率会在几分钟后重新装一遍。
勾选之后,点击”Install Now“,等待即可。
搞定之后,打开系统中的终端应用:
- Windows:按下 Win + R,输入 cmd 并回车
- Mac OS:在 Spotlight 搜索中输入”终端“
- Linux:又要委屈一下,如果你用 Linux 应该知道怎么操作
在弹出来的窗口(大概率是黑底白字)中输入python
,回车。
如果一切正常,应该会出现这样的提示。你的 Python 版本可能和我不同,显示的系统信息也可能有差别,但只要显示了 Python 和它的版本,就代表你的安装操作没有问题。
如果出现”python 不是内部或外部命令......“:
- 自己百度”将 Python 加入环境变量“
- 重新装一遍,记得把那个红框勾上
还要提醒一下用 Linux 的小伙伴们,注意确定 Python 的版本号开头是 3,有些 Linux 发行版会自带一个 2.x 版本的 Python。不要轻易把原先的版本卸载掉!不然包管理器可能会失效,最简单的解决方法就是重装系统了......
好了,到这里,假设你很幸运,没有遇到问题。
现在,我们来输入你人生中的第一行 Python 代码。根据惯例,内容是:
print("Hello World!")
注意所有的标点符号都是英文的。
按下回车,不出意外,你将会看到”Hello World!“,你好世界!
如果真的出了什么意外,请按照你得到的结果对应:
- SyntaxError: invalid syntax:检查你是否漏掉了括号或者引号
- SyntaxError: EOL while scanning string literal:你漏掉了后面的那个引号
- SyntaxError: invalid character in identifier:你的括号或者引号是中文的
现在,输入 exit()
并回车,退出 Python。
接下来,我们来检查另一个东西:pip。这是 Python 的包管理器,用人话说就是给 Python 增加更多功能的东西。
输入以下命令,回车:
pip --version
如果一切正常,你会看到 pip 三个字母,后面是它的版本、Python 安装的目录和 Python 的版本。
准备编辑器
其实直到现在,你已经具备了编写任何 Python 代码所需的全部软件。Python 也有自带的编辑器,感兴趣的小伙伴可以自己尝试一下。透露一个小秘密,其实这个自带的编辑器就是 Python 写的。
那我们为什么需要下载另一个编辑器呢?很简单,内置的编辑器功能不全,而且很丑。
我推荐的编辑器是 VS Code,这也是我日常开发时使用的。它的开发商是微软,就是做 Word 的那家公司。
另一个不错的编辑器叫做 PyCharm,从名字可以看出它是专门为 Python 设计的。
如果问我推荐的理由,其一是后者的专业版需要付费,其二是 PyCharm 的启动速度确实有点慢了。
继续下载软件,VS Code 的官网在这里:https://code.visualstudio.com
又一个英文网页,下载按钮如图所示。直接点就可以了,会自动下载对应系统的版本。
安装过程一路确定即可。
安装之后,打开这个看似很复杂的软件,无视右侧的英文界面,点击侧边栏红框所示的图标,在搜索框内输入 chinese,点击第一项右下角的”安装“按钮。
等待”安装“按钮消失,变成齿轮图标。重启软件,出现了久违的中文界面,相对友好了点。
使用相同的方法,在搜索框内输入”Python“,依然是安装第一个插件。
再次重启软件,现在你的 VS Code 已经具备了开发 Python 程序的能力。
一个真正的程序
其实,刚才我们在终端中输入的那行代码,不算是一个真正的程序。它只是一行命令,这是 Python 的一大特性,可以在终端中直接输入单行代码,不需要创建文件。
现在,去创建一个新文件夹,存放你写的代码文件。
回到 VS Code,在左上角点击”文件“,选择“打开文件夹”,找到你刚刚创建的文件夹。
确定之后,你会看到一个空空如也的界面。
你的侧边栏图标会比我的少几个,底栏显示的信息会比我的多,这都不重要。在左侧稍浅的“资源管理器”界面中右键,选择“新建文件”,文件名可以随意输入,但注意必须以“.py”结尾。
完成后回车,文件名左侧的图标应该会改变,同时右侧将打开一个类似记事本的窗口。
接下来你将在右侧输入代码,如果你嫌左侧的资源管理器太占空间,可以点击左上角白色的“文件”图标隐藏它,再点击一次则可以重新显示。
那个“1”是行号,按退格键是删不掉的。如果你不喜欢,可以在设置中关闭,但开启行号可以方便我们快速定位问题。
现在,让我们学点新东西。
变量
什么是变量?你可能会想起中学学到的“自变量”、“因变量”,其实还真差不多。
举个例子,你在简书的文章数,就是一个变量。当你发布文章时,这个数字将会增加,删除文章时将会减少。
你可能会想到与“变量”相对的“常量”,Python 中并没有常量,这一点我们会在后面讲到。
简书里你不能随意修改自己的文章数量,但在代码中可以。
输入article = 1000
,假设你的文章(article)数为 1000 篇。
这次可以不用太严格,我在等号两边各加入了一个空格,这不是必须的,不加空格不影响程序运行。
现在我们可以把文章数输出。程序中的 print 并不意味着把内容打印到纸上,而是在屏幕上将其显示出来。
换行,输入print(article)
,注意这次没有引号。
在编辑区右键,选择“在终端中运行 Python 文件”,或者按下快捷键 Ctrl + Shift + Enter。
这时,屏幕下方将出现终端,并自动运行你编写的代码,输出结果“1000”。
看起来不错。尝试把 1000 改成其它值,第二行不变,重复运行程序,输出的结果也会变化。
尝试把两个 article 改成 FP(简书钻),把 1000 换成 66666.66,终端中也会正常输出。
尝试把两个 article 改成 name,在等号后面输入你的简书名,注意简书名要用双引号包裹,而 name 则不需要。
现在,你已经使用了 Python 中的三种数据类型:
- 整数:数学课上学到的那个
- 浮点数:就是数学中的小数
- 字符串:比如你的简书名,或者今天的天气,又或者一篇文章的内容
课后作业
我知道作业是各位学生都不喜欢的,所以这些作业是选做的,但如果你觉得前面的程序功能太简单,可以尝试一下。
作业一:把第一行代码删除,在 print 后的两个括号之间输入1 + 1
,你会发现 Python 其实可以当作计算器。加减乘除都是可以的,自己尝试一下。
作业二:试试把作业一中的算式改为1 / 0
,看看 Python 会怎样处理这种情况。
作业三:定义两个字符串变量,然后把它们加起来,猜猜会发生什么。
下一篇文章中,我们将学习常见的程序结构。