2  Python程序的执行

本节主要内容:

2.1 一个Python程序是什么

写程序,就是用代码的方式,告诉计算机你要做什么。但处理器听不懂人话,因此你必须用计算机能懂的语言来做这件事。Python就是一种这样的语言。

任何一个程序都是一连串的指令,写一个程序,就是写一连串的指令。那么一个Python程序,就写一连串的Python指令。

一般情况下,我们会把这些指令保存在一个后缀(扩展名)为.py的文本文件里。这个文件就像一份菜谱,交给别人后,按步骤执行即可得到结果。

你在一个.py文件里写好一连串指令,然后交给Python解释器(Interpreter)(安装Anaconda后就有),解释器会按顺序逐条运行,最终给出结果。

这份“菜谱”(.py文件)称为“源代码(source code)”。编程时多数就是编辑并运行这个.py文件(数据分析也常用notebook,后面会讲到)。

这个文件本质上和一个.txt文件没什么不同,可用任意文本编辑器(如“记事本”或VS Code)打开编辑。

因此,所谓的编程就是:

  1. 用文本编辑器(如VS Code,或IDE如PyCharm)新建/编辑.py文件。
  2. 写入需要的代码。
  3. 选择运行方式:一次性运行整个文件,或在交互环境逐步执行。
  4. 循环编辑与运行,直至满意。

2.1.1 预备知识:扩展名和文件类型

判断文件类型,通常看文件名中最后一个英文.及其之后的内容(扩展名)。

注意:这里只是讨论一般的情况。扩展名也是可以修改的,所以未必和实际的文件类型一致。

  1. 一个文件名为WINWORD.EXE,扩展名.exe(Windows与macOS的文件名通常不区分大小写),表示“可执行文件”。这实际上是Windows版 Office 中 Word 的主程序。在 Windows 下“运行程序”通常就是执行一个.exe
  2. 一个文件,其名为鲁迅全集.txt,其扩展名为.txt,则意味着这是一个“纯文本文件”,其中的所有内容都可以视为文字,可以用任何一个文本编辑器,例如记事本,或者Word打开。
  3. 其他扩展名,如.jpg是常见的图形文件,.docx是2007版本以后的Word文档,等等等等。

2.1.2 (重要)Windows下正确显示文件的扩展名

默认情况下,Windows 会隐藏已知文件类型的扩展名。要完整显示文件名,需要修改一个设置。

在开始菜单,搜索“文件资源管理器选项” -> “查看”页面 -> 去掉“隐藏已知文件类型的扩展名”前面的勾选。

这样,在你的资源管理器中,显示文件的时候就会显示文件全名。

2.2 Python的交互式环境

我们先采用最基本的Python的交互式环境,给大家一点运行程序的感觉。

  1. 启动 Anaconda Prompt。(macOS/Linux 启动“终端 Terminal”)

  1. 我们会看到命令行窗口

  1. 输入python并回车,进入 Python 交互式环境。

该命令会启动 Python 解释器:你在其中输入的 Python 语句,会被解释器翻译并执行。

注意: 看到命令提示符>>>(三个大于号)表示处于 Python 交互式环境,此时可直接输入并执行 Python 语句。

截图中的 Python 版本为 3.9.5,你的版本可能更高。

2.2.1 简单的编程:计算1 + 2

  1. 我们依次输入(每行代码以<回车>结束)
>>> a = 1
>>> b = 2
>>> c = a + b 
>>> print(c)

显然,1+2会得到

3
  1. 结果大致如图

注意:

  • 无法得到结果3,首先检查有没有输入错误(打错字)
  • print(c)中的小括号,是英文括号。在语法层面上的所有符号,都是英文符号
  • 如果输入的代码有误、且已回车,直接重新输入正确的代码即可。

2.2.2 上述程序中涉及的一些概念

这个涉及程序设计的几个基本概念:

  1. 变量和赋值

变量,顾名思义,一个可变的量。编程中变量的概念和代数中的x, y, z基本一样。 Python中,对变量赋值使用1个等号 “=”。 显然, 我们有3个变量,a, bc。我们把1赋予a2赋予b,把a + b的值赋予c

  1. 运算符

加减乘除,以及逻辑运算如是否等于,大于,小于等,我们以后会用到。这里只用到“加法”

  1. 函数

和数学函数一样,我们调用一个函数,给这个函数传递一个参数,然后这个函数会根据这个参数做一些事情。可能是为你进行一个计算,可能修改某个变量等等,也可能什么都不做。

这里我们调用的函数是print(),它会把你传递给它的变量c的值打印出来。函数的调用方法是“函数名+小括号”。

数据分析的程序,大部分情况下可以视为由变量和函数组成。

2.2.3 退出运行环境

输入exit()并回车即可(Windows 也可按 Ctrl+Z 后回车,macOS/Linux 可按 Ctrl+D)。

可见,exit本身也是一个函数(函数名+小括号),其调用这个函数的作用是退出Python交互式运行环境。

注意:一定要退出,以便后续的程序能执行。

此时,我们又回到了一开始的命令行(终端)环境中。

常见的命令提示符:Windows 为>,macOS/Linux 多为$

  1. 可以执行系统中的命令,但不能执行python中的语句!
  2. 要进行交互式的python编程,要首先进入Python的交互式环境中!

2.3 本节要求

  1. 在Windows系统下显示文件的扩展名
  2. 在Python的交互环境中计算1+2

2.4 补充:路径

2.4.1 路径Path

你的文件或者文件夹(目录),到底保存到了哪里?

所谓路径(path),到达某个文件或者文件夹(目录)的层级结构,每一层用一个斜杠“/”分割。

在命令行(终端)环境下,命令提示符前通常会显示“当前路径”,表示你所处的目录。

例如 C:\Users\lee,指的就是,在你的C盘下,Users目录下,的lee目录。

注意 在你的电脑上,这里的lee会替换为你的用户名。

这样,你输入的任何命令,都会对“当前路径”生效。

同样,路径既可以指向一个目录(文件夹),也可以指向一个文件。

C:\Users\lee\add.py,就指的是,在你的C盘下的Users目录下的lee目录下的一个叫add.py的文件。

2.4.2 相对路径和绝对路径

  1. 绝对路径:从根目录(Windows下即一个盘符,如c盘或者d盘)开始的路径,可以确定无疑地指向某个文件或者目录。如C:\Users\lee\add.py
  2. 相对路径:不从根目录起始的路径。其指向的目的地,从你的“当前路径”开始,往下数。

假如,你的当前路径是C:\Users,那么此时,相对路径lee\add.py,所指向的,就是当前路径下(C:\Users),lee目录下的add.py。这也等价于绝对路径C:\Users\lee\add.py

  1. 两者的区别:绝对路径从根目录开始,相对路径从“当前路径”开始。

2.4.3 进入某个目录

Windows 命令行与 macOS 终端均可使用cd <路径>进入目录。

例如在终端中输入(使用绝对路径):

cd C:/Users 

则会让终端进入到 C:/Users 目录下。见提示符>前方的“当前路径”已经改变为C:/Users。你现在已经位于C:/Users 目录。

再尝试相对路径(注意将lee替换为你的用户名):

cd lee

则会让终端进入到 C:/Users/lee 目录下。见提示符>前方的“当前路径”已经改变为C:/Users/lee。你现在已经位于C:/Users/lee 目录。

其他常用用法:

  1. 进入上一级目录
cd ..
  1. 进入根目录
cd /

这些命令可以帮助你在终端中快速定位到目标目录和文件。

2.4.4 用Windows图形界面获得路径

在 Windows 资源管理器(“此电脑”)中,在任意文件夹点击地址栏:

即可获得该文件夹的路径,复制后可粘贴到命令行中。

特别注意:正反斜杠问题

在编程语境下,反斜杠“\”常有特殊用途。表示路径时,统一使用斜杠“/”。

统一的写法,如C:/Users/lee

2.4.5 列目录

列目录的命令:Windows 为dir,macOS/Linux 为ls。可自行尝试。