内容正文:
第1章 初识Python
第1章 初识Python
1.1 Python语言概述
1.2 Python的开发优势
1.3 安装Python
1.4 IDLE开发环境
1.5 Anaconda开发环境
1.6 Jupyter Notebook介绍
1.1 Python语言概述
Python语言是由荷兰人Guido van Rossum于1989年设计实现的高级程序设计语言。
1991年发布Python版本0.9,后续于1994年、2000年和2008年相继发布了Python1.0、Python2.0和Python3.0等多个版本。截至2024.6月最新版本是3.12.3。
官网 https://www.python.org/
Python2.x和Python3.x不完全兼容。目前使用3.x,本书采用3.12版环境,实际使用3.10-3.12版均可。
应用方向:数据分析、机器学习、人工智能、组件集成、网络服务、科学计算等众多领域。
1.2 Python的开发优势
简单易学:摈弃复杂结构、简化语法,提供易用的数据类型,使得Python程序结构更简单、可阅读性更强。
免费开源:开放源代码、免费。
跨平台和可移植性:Python程序可在很多平台上运行,包括Windows、MacOS、iOS、Android及各种Linux/Unix系统。
解释型:采用解释方式执行,非编译方式。
Python语言特性:
1.2 Python的开发优势
面向对象:支持过程式编程、面向对象编程和函数式编程(体现为lambda, map, filter等高阶函数)
丰富的库:内建很多库,现已有40多万个项目(第三方库),扩展了Python的功能。官方库网站 https://pypi.org/
常用的python开发环境:
python标准安装包自带的IDLE
Anaconda中的spyder或 jupyter notebook (本书使用)
pycharm等第三方开发工具
vscode中安装python插件亦可
1.3 安装Python
安装:在官网https://www.python.org/downloads下载安装程序,标准安装包大约30MB。最新版 3.12.3,本课程使用3.10-3.12版均可。
6
1.3 安装Python
安装Python:双击下载的Python安装包,进入Python安装向导进行安装,如下图所示:
安装时可选"Customize installation",建议: (1)选中上图"Add python.exe to PATH"选项, (2)将安装目录修改为简短的C:\python312,便于后续命令行上的操作。
7
1.4 IDLE开发环境
1.4.1 Python IDLE集成开发环境
IDLE 是python安装包自带的开发环境
启动方式:选择Windows的“开始”菜单“Python程序组”“IDLE (Python 3.12)”菜单项
启动后,提示符为>>> , 每行输入一条命令,按回车键即执行。
1.4 IDLE开发环境
1.4.2 Python程序编辑器
1.新建程序文件:选择IDLE的“File”菜单“New File”命令,或按快捷键“Ctrl+N”。(在IDLE中演示下面的操作)
1.4 IDLE开发环境
2.保存程序文件:选择“File”菜单“Save File”命令或者按快捷键“Ctrl+S”将程序代码保存为Python文件,文件的扩展名为“.py”。
3.打开程序文件:选择“File”菜单“Open File”命令,或者按快捷键“Ctrl+O”。
4.语法高亮:在Python IDLE中注释用红色显示,函数用紫色显示,字符串显示为绿色。
10
1.4 IDLE开发环境
5.自动完成:输入命令单词的开头部分,IDLE可自动补全。选择“Edit”菜单“Show Completions”命令,或按快捷键Tab实现自动补全。
(a)IDLE命令窗口
(b)Python程序编辑器窗口
11
1.4 IDLE开发环境
1.4.3 Python程序书写规范
Python源程序的书写规范主要体现在语句的格式、语句块与缩进、注释等方面。
1. 语句:原则上要求Python程序一行只写一条语句。如果非要在一行内写多条语句,那么必须用分号";"隔开不同语句。如果一条语句过长,可使用 “\”字符分割成多行书写。
# 程序示例
x = input('输入x:')
x = int(x) # 转换为整数
if x>=0:
print('>=0')
else:
print('<0')
1.4 IDLE开发环境
例:多条语句写在同一行
a = 10; b = 20; c = 30
例:一条语句占多行,用“\”做续行符
content = '在Python源程序中\
如果一行内写多条语句,\
语句间用分号(;)隔开。\
如果一条语句过长,可以使用反斜杠符\
实现多行书写。'
1.4 IDLE开发环境
2. 语句块与缩进:语句块是指多个语句构成的复合语句,它是程序中完成相对复杂功能且逻辑独立的语句组合体。
Python程序中的语句块相对上级语句必须采用缩进(语句前面插入空格)格式。
a = 20
b = 10
if a > b: # 此处必须有冒号
c = a # 三条下级语句都要缩进,且缩进一致
a = b
b = c
print(a, b)
1.4 IDLE开发环境
代码的缩进非常重要,需要注意以下几点:
语句块相对上级语句(if/for/while/def等)应缩进;
用空格实现缩进(或按Tab键自动转为4个空格);
缩进是分级别的,同一级别缩进必须对齐,否则会导致语法错误。
a = 20
b = 10
if a > b:
c = a # 错误,未缩进
a = b
b = c # 错误,缩进不一致
15
1.4 IDLE开发环境
3. 注释:注释用于描述程序或语句的功能,目的是增强程序的可读性。执行程序时会忽略所有注释。
Python的注释分单行注释和多行注释两种。
单行注释: 以字符“#”开始至该行结束为止。
多行注释: 使用3个引号(单引号或双引号)作为注释的开始和结束标记。
# -*- coding: utf-8 -*- 单行注释
"""
多行注释
Created on Mon May 13 15:09:15 2019
@author:
"""
print('Hello,Python!') # 输出 Hello,Python!
1.4 IDLE开发环境
1.4.4 Python程序的运行
1. Python程序的运行原理
Python 程序运行原理
解释器将.py源代码解释为字节码(中间码),然后由虚拟机执行,与java的运行原理类似。
1.4 IDLE开发环境
2. Python程序的运行方式
运行方式有交互方式和文件方式两种。
(1)交互方式: 在shell对话窗口中执行单条语句
1.4 IDLE开发环境
(2)程序文件运行方式: 编写程序(.py)运行
# FirstPython.py
print('Hello, Python!')
x = 10
print(x)
1.5 Anaconda开发环境
1.5.1 Python软件包管理工具
Python得以广泛应用的主要原因就在于有众多的第三方软件包扩展其功能。
PyPI(Python Package Index https://pypi.org/ )是Python官方的第三方包集合。这些包可通过 pip 工具下载安装,pip工具在python标准安装包中已包含。
20
1.5 Anaconda开发环境
(1)查看已安装的Python软件包
运行cmd,进入Windows命令提示符窗口,输入命令
pip list
(2)查看可升级的Python软件包
在命令提示符窗口中输入命令
pip list --outdated
21
1.5 Anaconda开发环境
(3)安装Python软件包
在命令提示符窗口中输入命令 pip install 软件包名
或 pip install 软件包名==版本号 安装指定版本号的包
例如要安装numpy包, 则 pip install numpy
有时访问国外软件仓库网速慢易出错,可用下面的清华镜像,快且稳定
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
(4)更新升级Python软件包
在命令提示符窗口中输入命令
pip install --upgrade 软件包名
(5)卸载Python软件包
在命令提示符窗口中输入命令 pip uninstall 软件包名
22
1.5 Anaconda开发环境
1.5.2 Anaconda软件包
Anaconda是一个免费的集成Python软件平台,包含了常用的Anaconda Prompt窗口、IPython工具、Spyder开发环境和Jupyter Notebook开发环境等。本课程推荐使用其中的Spyder和Jupyter Notebook。
Anaconda官网: https://www.anaconda.com
历史版本下载: https://repo.anaconda.com/archive/
23
1.5 Anaconda开发环境
Anaconda程序安装
用户可自行修改安装路径。注意:用户名为中文的用户应修改默认的目录路径,确保安装路径中不含中文。路径中含有中文可能导致Jupyter Notebook使用时报错。
在后续窗口中建议勾选上图的“Add Anaconda3 to myPath”选项,便于以后在命令行使用Python和Jupyter Notebook。
24
1.5 Anaconda开发环境
1.5.3 Anaconda Prompt窗口
1. Anaconda Prompt窗口的启动
该窗口为用户设置好了各种Anaconda环境变量,便于在命令行上使用各种命令。选择“Anaconda3程序组”“Anaconda Prompt”命令。
重要提示:用户机器中允许共存多个python环境,如使用pip为anaconda环境安装新软件包,请进入anaconda prompt窗口操作,不要进入Windows的cmd窗口操作,这样可保证软件包安装在anaconda中。
25
1.5 Anaconda开发环境
2. Anaconda 软件包管理:在Anaconda Prompt窗口中可使用conda工具对Python软件包进行安装、更新和删除等操作,也可用pip方式安装。
命令 描述
conda list 显示当前环境下的所有Python包
conda install packagename 安装名为packagename的包
conda search packagename 搜索packagename包
conda update packagename 更新packagename包
conda remove packagename 删除packagename包
26
1.5 Anaconda开发环境
3. Anaconda 环境管理:在Anaconda Prompt窗口中可使用conda实现虚拟环境管理。不同环境可安装不同版本的python(如2.x和3.x)和软件包,以适应不同的软件需求,虚拟环境之间互不影响。默认具有base环境。
(1)创建虚拟环境
conda create -n env_name python=version package_names
# 创建一个名为python37的 python 3.7环境
例 conda create -n python37 python=3.7
(2)查看Python的虚拟环境
conda env list
27
1.5 Anaconda开发环境
(3)切换虚拟环境
conda activate env_name
例 conda activate python37
(4)退出虚拟环境,退出后默认进入base环境
conda deactivate
(5)删除虚拟环境
conda env remove -n env_name
例 conda env remove -n python37
28
1.5 Anaconda开发环境
1.5.4 IPython开发工具
IPython是增强shell,比IDLE好用。推荐使用Spyder中的IPython。
1. IPython交互式命令窗口的启动
方法1:启动Anaconda Prompt窗口,在窗口中输入“ipython”命令启动。
方法2:选择“Anaconda3程序组”“Spyder”命令,Spyder中内含Ipython。
29
1.5 Anaconda开发环境
Spyder环境集成了IPython开发工具,在窗口的“控制台窗口区”提供了IPython交互命令窗格。
30
1.5 Anaconda开发环境
Python IDLE以“>>>”作为输入提示符,IPython采用
“In[序号]:”提示符表示代码输入位置,“Out[序号]:”提示符表示执行结果的输出位置。本书后续省略序号,只以In和Out表示输入和输出。
2. IPython简单使用
(1)Tab键自动补全
在IPython命令窗口中输入代码时按下Tab键,系统会自动列出与当前输入的字符串匹配的内容
31
1.5 Anaconda开发环境
(2)历史记录功能
使用“history”命令(或hist)查看历史输入内容
格式 描述
history 输出命令的历史记录
history -n 序号 输出指定序号的命令记录
history -g 字符串 搜索内容
In [1]: a = 20
In [2]: b = 10
In [3]: a + b
Out[3]: 30
In [4]: history # 显示所有历史输入
a = 20
b = 10
a + b
history
32
1.5 Anaconda开发环境
(3)自省
在IPython中可使用符号“?”查看系统已有的命令、变量或函数的相关信息,这种功能被称为自省。
例:使用“?”获取变量的信息
In [1]: a = 10
In [2]: a?
Type: int
String form: 10
Docstring:
int([x]) -> integer
使用dir()和 help()也可以显示内建的帮助信息
In: dir(a)
In: help(a)
33
1.5 Anaconda开发环境
(4)直接调用操作系统的命令
可用“!操作系统命令”的形式直接调用操作系统的命令。
# 调用Windows系统的dir命令显示当前目录中的文件, 此处不是Python的dir
In: !dir
# 创建目录mywork, md是Windows创建目录的命令
In: !md mywork
# !pip 直接在Ipython中安装包,不用先进入操作系统命令行界面,方便用户操作
In: !pip install jieba
34
1.5 Anaconda开发环境
(5)magic命令
IPython将任何首字母为%的行视为magic命令,提供了更多的扩展管理功能。
命令 描述
%quickref 显示IPython的快速参考
%magic 显示所有魔术命令的详细文档
%history 打开命令的输入(可选输出)历史
%reset 删除当前命名空间中的全部变量、名称
%run 源程序文件 执行Python源程序
%prun statement 通过cProfile执行statement,并打印分析器的输出结果
%time statement 报告statement的执行时间
%timeit statement 多次执行statement以计算其平均执行时间,适合测试执行时间非常短的代码
%who、%who_ls、whos 显示命名空间中定义的变量
前导符%默认也可以省略。这些命令只能在Ipython中使用,不要写入.py的普通python程序中。
35
1.5 Anaconda开发环境
【例】 magic命令的使用
1.使用%run运行Python程序文件
In: %run d:\pythonspace\FirstPython.py
Hello,Python!
10
2.使用%timeit测试运行时间
In: %timeit list(range(100)) # 测试 list(range(100))的运行时间
914 ns ± 6.09 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
36
1.5 Anaconda开发环境
1.5.5 Spyder集成开发环境
Spyder是一个用于科学计算的Python集成开发环境。它结合了集成开发工具的高级编辑、分析、调试功能,以及数据探索、交互执行和数据可视化功能,为用户带来了很大的便利。
Spyder集成开发环境窗口主要包含程序编辑区、控制台窗格区、帮助、变量和文件浏览区等。
37
1.5 Anaconda开发环境
1. 新建程序文件
启动Spyder集成开发环境窗口后,在程序编辑区默认打开的程序文件为“temp.py”。如果要新建一个程序文件,有下列方法:
方法1:选择菜单栏的File New file命令;
方法2:单击工具栏中的“新建文件”按钮;
2. 打开程序文件
步骤1:选择菜单栏的File Open命令,或单击工具栏中的“打开文件”按钮,或按快捷键“Ctrl+O”键,弹出“打开文件”对话框。
步骤2:在对话框中选择需要打开的程序文件后单击“打开”按钮。
38
1.5 Anaconda开发环境
3. 编辑程序文件
在程序编辑区可以按照1.4.3节介绍的程序书写规范对源程序进行编辑。
a = [10, 80, 20, 5, 6]
print('排序前:', a)
a.sort() # 排序
print('排序后:', a)
4. 运行程序文件
选择RunRun菜单命令,或单击工具栏的“执行文件”按钮 ,或按快捷键F5键。
39
1.6 Jupyter Notebook介绍
Jupyter Notebook是一款基于网页的python编程平台,在网页的单元格中可编写和运行代码,运行结果显示在单元格下方。其最突出的优点就是将代码、输出结果和笔记(图片、数学公式、图形等)存于同一文件中(扩展名.ipynb),便于查阅和重现程序结果。
1.6.1 安装与启动Jupyter Notebook
anaconda中已包含Notebook, 可直接在程序组中启动。启动后自动弹出服务器终端窗口(见教材图1.22,此窗口不能关闭),同时浏览器将自动启动Jupyter Notebook主页(见下图)。
40
1.6 Jupyter Notebook介绍
如果是从"开始"菜单项启动Jupyter,则工作目录默认为Windows个人目录,例如用户Administrator 的个人目录为C:\Users\Administrator。用户可先将.ipynb文件复制到此目录,或用Upload按钮加载到该目录中。
选择上图的“New / Python 3(ipykernel)" 将创建一个新文件。
41
1.6 Jupyter Notebook介绍
另一种启动方式是先进入Anaconda Prompt窗口,切换到要操作的.ipynb文件所在的目录,然后在命令行输入jupyter notebook启动。
如下命令启动后将把D:\mywork作为工作目录,浏览器中将显示该目录的文件。
(base) C:\Users\admin>d:
(base) D:\>cd mywork
(base) D:\mywork>jupyter notebook
42
1.6 Jupyter Notebook介绍
1.6.2 程序的编辑与运行
Notebook网页中的单元格分两类:代码格和Markdown标记格。代码格中存放可运行的Python代码,Markdown标记格存放标记文本,这些文本可设置格式,例如标题、上标、颜色等,见下页示图。格式设置方法详见本书配套的“Jupyter配置.ipynb”文档。
工作模式分为: 命令模式和编辑模式。例如,单击单元格左侧边栏(或按Esc键)将进入命令模式。按A键在当前单元格前面插入新单元格;按B键在后面插入新单元格;连按两次D键删除当前单元格。更多快捷键参见Help菜单下的"Keyboard Shortcuts"。如果在单元格上单击或按回车键则进入编辑模式,可修改其内容。
单击工具栏上的"运行"按钮将执行单元格代码,并在下方显示结果。按 Shift + Enter键也可执行,执行后光标移到下一单元格; 按 Ctrl + Enter 键执行单元格且保持光标不变。
43
1.6 Jupyter Notebook介绍
图1.25 第4章配套的.ipynb代码截图
44
$$