>>> a = 1
>>> b = 2
>>> c = a + b
>>> print(c)
2 Python程序的执行
本节主要内容:
- Python 程序与源代码的基本概念
- 扩展名与文件类型(含 Windows 显示扩展名设置)
- 在终端进入 Python 交互式环境
- 交互示例:1 + 2 与
print()
- 基础概念:变量、运算符、函数
- 退出交互环境并回到命令行
- 路径与目录:绝对/相对路径、
cd
、列目录、从资源管理器获取路径
2.1 一个Python程序是什么
写程序,就是用代码的方式,告诉计算机你要做什么。但处理器听不懂人话,因此你必须用计算机能懂的语言来做这件事。Python就是一种这样的语言。
任何一个程序都是一连串的指令,写一个程序,就是写一连串的指令。那么一个Python程序,就写一连串的Python指令。
一般情况下,我们会把这些指令保存在一个后缀(扩展名)为.py
的文本文件里。这个文件就像一份菜谱,交给别人后,按步骤执行即可得到结果。
你在一个.py
文件里写好一连串指令,然后交给Python解释器(Interpreter)(安装Anaconda后就有),解释器会按顺序逐条运行,最终给出结果。
这份“菜谱”(.py
文件)称为“源代码(source code)”。编程时多数就是编辑并运行这个.py
文件(数据分析也常用notebook,后面会讲到)。
这个文件本质上和一个.txt
文件没什么不同,可用任意文本编辑器(如“记事本”或VS Code)打开编辑。
因此,所谓的编程就是:
- 用文本编辑器(如VS Code,或IDE如PyCharm)新建/编辑
.py
文件。 - 写入需要的代码。
- 选择运行方式:一次性运行整个文件,或在交互环境逐步执行。
- 循环编辑与运行,直至满意。
2.1.1 预备知识:扩展名和文件类型
判断文件类型,通常看文件名中最后一个英文.
及其之后的内容(扩展名)。
注意:这里只是讨论一般的情况。扩展名也是可以修改的,所以未必和实际的文件类型一致。
- 一个文件名为
WINWORD.EXE
,扩展名.exe
(Windows与macOS的文件名通常不区分大小写),表示“可执行文件”。这实际上是Windows版 Office 中 Word 的主程序。在 Windows 下“运行程序”通常就是执行一个.exe
。 - 一个文件,其名为
鲁迅全集.txt
,其扩展名为.txt
,则意味着这是一个“纯文本文件”,其中的所有内容都可以视为文字,可以用任何一个文本编辑器,例如记事本,或者Word打开。 - 其他扩展名,如
.jpg
是常见的图形文件,.docx
是2007版本以后的Word文档,等等等等。
2.1.2 (重要)Windows下正确显示文件的扩展名
默认情况下,Windows 会隐藏已知文件类型的扩展名。要完整显示文件名,需要修改一个设置。
在开始菜单,搜索“文件资源管理器选项” -> “查看”页面 -> 去掉“隐藏已知文件类型的扩展名”前面的勾选。
这样,在你的资源管理器中,显示文件的时候就会显示文件全名。
2.2 Python的交互式环境
我们先采用最基本的Python的交互式环境,给大家一点运行程序的感觉。
- 启动 Anaconda Prompt。(macOS/Linux 启动“终端 Terminal”)
- 我们会看到命令行窗口
- 输入
python
并回车,进入 Python 交互式环境。
该命令会启动 Python 解释器:你在其中输入的 Python 语句,会被解释器翻译并执行。
注意: 看到命令提示符>>>
(三个大于号)表示处于 Python 交互式环境,此时可直接输入并执行 Python 语句。
截图中的 Python 版本为 3.9.5,你的版本可能更高。
2.2.1 简单的编程:计算1 + 2
- 我们依次输入(每行代码以<回车>结束)
显然,1+2会得到
3
- 结果大致如图
注意:
- 无法得到结果
3
,首先检查有没有输入错误(打错字)。 print(c)
中的小括号,是英文括号。在语法层面上的所有符号,都是英文符号。- 如果输入的代码有误、且已回车,直接重新输入正确的代码即可。
2.2.2 上述程序中涉及的一些概念
这个涉及程序设计的几个基本概念:
- 变量和赋值
变量,顾名思义,一个可变的量。编程中变量的概念和代数中的x
, y
, z
基本一样。 Python中,对变量赋值使用1个等号 “=
”。 显然, 我们有3个变量,a
, b
和c
。我们把1
赋予a
,2
赋予b
,把a + b
的值赋予c
。
- 运算符
加减乘除,以及逻辑运算如是否等于,大于,小于等,我们以后会用到。这里只用到“加法”
- 函数
和数学函数一样,我们调用一个函数,给这个函数传递一个参数,然后这个函数会根据这个参数做一些事情。可能是为你进行一个计算,可能修改某个变量等等,也可能什么都不做。
这里我们调用的函数是print()
,它会把你传递给它的变量c
的值打印出来。函数的调用方法是“函数名+小括号”。
数据分析的程序,大部分情况下可以视为由变量和函数组成。
2.2.3 退出运行环境
输入exit()
并回车即可(Windows 也可按 Ctrl+Z 后回车,macOS/Linux 可按 Ctrl+D)。
可见,exit
本身也是一个函数(函数名+小括号),其调用这个函数的作用是退出Python交互式运行环境。
注意:一定要退出,以便后续的程序能执行。
此时,我们又回到了一开始的命令行(终端)环境中。
常见的命令提示符:Windows 为>
,macOS/Linux 多为$
。
- 可以执行系统中的命令,但不能执行python中的语句!
- 要进行交互式的python编程,要首先进入Python的交互式环境中!
2.3 本节要求
- 在Windows系统下显示文件的扩展名
- 在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 相对路径和绝对路径
- 绝对路径:从根目录(Windows下即一个盘符,如c盘或者d盘)开始的路径,可以确定无疑地指向某个文件或者目录。如
C:\Users\lee\add.py
。 - 相对路径:不从根目录起始的路径。其指向的目的地,从你的“当前路径”开始,往下数。
假如,你的当前路径是C:\Users
,那么此时,相对路径lee\add.py
,所指向的,就是当前路径下(C:\Users
),lee
目录下的add.py
。这也等价于绝对路径C:\Users\lee\add.py
。
- 两者的区别:绝对路径从根目录开始,相对路径从“当前路径”开始。
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
目录。
其他常用用法:
- 进入上一级目录
cd ..
- 进入根目录
cd /
这些命令可以帮助你在终端中快速定位到目标目录和文件。
2.4.4 用Windows图形界面获得路径
在 Windows 资源管理器(“此电脑”)中,在任意文件夹点击地址栏:
即可获得该文件夹的路径,复制后可粘贴到命令行中。
特别注意:正反斜杠问题
在编程语境下,反斜杠“\
”常有特殊用途。表示路径时,统一使用斜杠“/
”。
统一的写法,如C:/Users/lee
2.4.5 列目录
列目录的命令:Windows 为dir
,macOS/Linux 为ls
。可自行尝试。