Python简介与入门
目录
一、Python 概述
1.1 Python 的优势
1.2 Python 的特性
1.3 Python 的应用领域
二、Python 安装
2.1 Linux 环境中安装 Python
2.2 Windows 系统中安装 Python
三、Python 语法基础
3.1 标识符
3.2 Python 保留字
3.3 注释
3.4 语句与缩进
3.5 pass 语句
四、Python 常用的数据类型
4.1 数字
4.2 字符串
4.3 列表
五、元组的定义与基本概念
5.1元组的定义
5.2 元组与列表的区别
六、元组的创建方式
6.1 使用圆括号直接创建
6.2 使用 tuple () 函数创建
七、元组的基本操作
7.1 访问元组元素
7.2 切片操作
7.3 元组的拼接与重复
7.4 元组的长度
八、元组的遍历
8.1 使用 for 循环遍历
8.2 使用 enumerate () 函数遍历
九、元组的应用场景
9.1 作为函数返回值
9.2 作为字典的键
9.3 数据的保护
十、元组的解包
10.1 基本解包
10.2 部分解包
十一、元组的方法
11.1 count () 方法
11.2 index () 方法
一、Python 概述
1.1 Python 的优势
Python 易于使用且是一门完整的编程语言,相比 Shell 脚本或批处理文件,它为编写大型程序提供了更多的结构和支持。Python 提供了比 C 更多的错误检查,作为高级语言,内置支持如灵活数组和字典等高级数据结构类型。因其丰富的通用数据类型,Python 比 Awk 甚至 Perl 更适用于更多问题领域,大多数事情在 Python 中与其他语言同样简单。
Python 允许将程序分割为不同模块,以便在其他 Python 程序中重用。它内置了大量标准模块,可作为程序基础或学习编程的示例,这些模块提供了文件 I/O、系统调用、Socket 支持,甚至类似 Tk 的用户图形界面(GUI)工具包接口。
Python 是解释型语言,无需编译和链接,能在程序开发中节省时间。Python 解释器可交互使用,便于试验语言特性、编写临时程序或在自底向上的程序开发中测试方法,还能当作桌面计算器使用。
1.2 Python 的特性
Python 让程序编写得紧凑和可读。用 Python 编写的程序通常比同样的 C、C++ 或 Java 程序更短小,原因如下:
- 高级数据结构使开发者可以在一条语句中表达复杂的操作。
- 语句组使用缩进代替开始和结束大括号来组织。
- 变量或参数无需声明。
1.3 Python 的应用领域
Python 是一种通用编程语言,应用广泛,且学习曲线平滑,是众多编程入门者的首选。其主要应用领域包括:
- 数据科学和机器学习:拥有许多强大的库和框架,如 NumPy、Pandas、Scikit-learn 和 TensorFlow 等。
- Web 开发:借助 Django 和 Flask 等流行的 Web 框架可进行 Web 开发。
- 自动化测试:有 unittest 和 pytest 等流行测试框架。
- 网络爬虫:使用 BeautifulSoup、Scrapy 和 Requests 等库和框架可进行网络爬虫开发。
- 游戏开发:利用 Pygame 和 Panda3D 等流行游戏引擎可开发游戏。
- 数据分析:凭借 NumPy、Pandas 和 Matplotlib 等库和框架进行数据分析。
- 数据可视化:借助 Matplotlib、Seaborn 和 Bokeh 等库和框架实现数据可视化。
二、Python 安装
2.1 Linux 环境中安装 Python
- 下载 Python3.11.6:可在 Python 官方网站(http://www.python.org)下载。
- 安装依赖包
- 设置 yum 仓库:设置好 centos 基础源和 epel 扩展源,本案例使用阿里的更新源。
- 安装依赖包:
[root@localhost ~]#yum -y install gcc zlib zlib-devel libffi libffi-devel
[root@localhost ~]#yum -y install readline-devel
[root@localhost ~]#yum -y install openssl-devel openssl11 openssl11-devel
[root@localhost~]#export CFLAGS=(pkg-config --cflags openssl11)
[root@localhost~]#export LDFLAGS=(pkg-config --libs openssl11)
- 解压 Python 压缩包:解压 Python-3.11.6.tgz,命令如下:
[root@localhost~]#tar xvf Python-3.11.6.tar.xz
- 安装 Python:
[root@master home]#cd Python-3.11.6/
[root@master Python-3.11.6]#./configure --prefix=/usr/local/python3
- 编译及安装:
[root@master Python-3.11.6]#make
[root@master Python-3.11.6]#make install
- 建立软连接:
[root@master Python-3.11.6]#ln -s /usr/local/python3/bin/python3 /usr/bin/python3
[root@master Python-3.11.6]#ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
- 测试 Python3 运行:
[root@master Python-3.11.6]#python3
- 设置国内 pip 更新源:
[root@localhost~]#cat<<EOF>/root/.config/pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com
- 更新 pip 版本(必须更新):
[root@localhost~]#pip3 install --upgrade pip
2.2 Windows 系统中安装 Python
- 安装 Python 程序:
- 双击 python 安装包 python-3.11.6-amd64,选择安装方式进行安装。
- 安装完成后,可在终端输入
py
启动 Python,或在开始菜单中搜索 Python。
- 安装 vscode 编译器:
- 双击安装包 VSCodeUserSetup-x64-1.85.0,进入安装界面,按照提示进行安装。
- 设置安装路径、开始菜单文件夹,选择附加任务(如创建桌面快捷方式、添加到 PATH 等)。
- 安装完后直接开始运行。
- 安装 vscode 插件:
- 安装 python 插件:点击 Extentions(扩展)按钮,在搜索区域输入 “python”,选择 Python 插件进行安装。
- 安装 black format 插件(选装):用同样的方法安装 “black format” 插件,可使用 “Shift+Alt+F” 组合键对 Python 代码进行格式化处理。
- 设置国内更新源:
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com
pip install --upgrade pip
三、Python 语法基础
3.1 标识符
标识符是对变量、常量、函数、类等对象起的名字。Python 语言严格区分大小写,标识符的命名规则如下:
- 标识符的长度不受限制,但其中的字符必须是字母、数字、或者下划线 (_),不能使用空格、连字符、标点符号、引号或其他字符。
- 标识符的第一个字符不能是数字,必须是字母或下划线。
- 不能将 Python 关键字用作标识符。
例如,a
、abc
、_id
等都是合法的标识符,而$a
、~abc
、123a
都是不合法的。中文也可以作为标识符。
3.2 Python 保留字
Python 保留字,也叫关键字,是 Python 语言官方确定的用作语法功能的专用标识符,不能把它们用作任何自定义标识符名称。关键字只包含小写字母。可以通过 Python 提供的keyword
模块输出这些关键字:
>>>import keyword
>>>keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise','return', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'try', 'while', 'with', 'yield']
3.3 注释
- 单行注释:Python 中,以符号 “#” 为单行注释的开始,从它往后到本行的末尾,都是注释内容。例如:
# 这是一个单行注释
- 多行注释:Python 没有真正意义上的多行注释(块注释),可使用多个单行注释实现:
# 第一行注释
# 第二行注释
# 第三行注释
3.4 语句与缩进
- 语句:在代码中,能够完整表达某个意思、操作或者逻辑的最短代码,被称为语句。Python 的标准语言不需要使用分号,简单的换行就表示语句已经结束。例如:
>>>a = 123
>>>b = 456
>>>print("hello world")
- 代码块:为完成某一特定功能而联系在一起的一组语句构成一个代码块。有判断、循环、函数、类等各种代码块。代码块的首行通常以关键字开始,以冒号 (:) 结束。Python 使用缩进来表示代码块,一般用四个空格来缩进。在 pycharm 或 vscode 中 tab 自动回转成 4 个空格,在 Linux 环境中,如 VIM 编辑器,建议使用空格。例如:
a = 10
if a > 5:print("a大于5")
else:print("a小于5")
- 多行语句:如果一条语句太长,可以使用反斜杠 () 来实现多行语句。例如:
>>>print("ni hao\
... jiao zhang san")
3.5 pass 语句
pass 语句是占位语句,它什么都不做,只是为了保证语法的正确性。在以下场景中,可以使用 pass 语句:
- 当不知道后面的代码怎么写的时候。
- 当不需要写代码细节的时候。
- 当语法必须,又没有实际内容可写的时候。
例如:
a = 10
if a > 5:pass
else:print("a大于5")
四、Python 常用的数据类型
4.1 数字
数字类型包括整型、浮点型、布尔型等。声明时由 Python 内置的基本数据类型管理变量,根据变量的值自动判断变量的类型。
- 整型和浮点型:整数使用整型表示,有小数位使用浮点型表示。变量的类型是可变的。例如:
>>>X = 123
>>>print(X)
123
>>>X = 1.98
>>>print(X)
1.98
- 布尔型:布尔型用于逻辑运算,有 True、False 两个值,表示真和假。使用比较运算符返回的结果是布尔值。例如:
>>>f = True
>>>print(f)
True
>>>if(f):
... print(1)
...
1
>>>3 > 4
False
>>>4.15 > 2.1
True
- Python 运算符:Python 的算术运算符和数学运算中使用的符号基本相同,包括 +、-、*、/(加、减、乘、除)和小括号,运算顺序也是先乘除后加减、小括号优先。还有 %(求模)和 **(求幂)运算符。例如:
>>>x, y = 10, 2
>>>print(x + y, x * y, x / y)
12 20 5.0
>>>print(5 + 8 * 3)
29
>>>print((5 + 8) * 3)
39
>>>print(5 + 8 * 3 / 4)
11.0
>>>8 % 5
3
>>>8 % 4
0
>>>2 ** 2
4
>>>2 ** 4
16
4.2 字符串
字符串类型是一组包含数字、字母和符号的集合,作为一个整体使用。
- 字符串使用:在 Python 中有 3 种表示字符串的方式,单引号、双引号、三引号。单引号和双引号作用相同,定义多行文字时,必须使用三引号。例如:
>>>name = '12345'
>>>address = "778899"
>>>content = """55667788"""
>>>print(name)
12345
>>>print(address)
778899
>>>print(content)
55667788
- 使用字符串注意事项:
- 单引号、双引号、三引号都是成对出现的,不能混合使用。
- 如果字符串中单独出现单引号或双引号,可以使用另一种引号定义。
- 当字符串中出现单引号、双引号等特殊字符时,还可以使用转义字符 “\” 定义。Python 的常用转义字符有 \(在行尾时为续行符)、\(反斜杠符号)、'(单引号)、"(双引号)、\n(换行)、\v(纵向制表符)、\t(横向制表符)、\r(回车)等。例如:
>>>title1 = "Let's Go!"
>>>print(title1)
Let's Go!
>>>title2 = 'Let"Go!'
>>>print(title2)
Let"Go!
>>>title3 = '''Let's Go! Let"Go!'''
>>>print(title3)
Let's Go! Let"Go!
>>>title = 'Let\'s Go!'
>>>print(title)
Let's Go!
>>>title = "Let\"Go!"
>>>print(title)
Let"Go!"
- 字符串的其它用法:字符串可以进行乘法 (*) 的操作,使用一个整型数字和字符串相乘,等同于将字符串连接指定的次数。例如:
>>>print(3 * 'a')
aaa
4.3 列表
列表(list)是 Python 中重要的数据类型,由一组元素组成,可实现添加、删除和查找操作,元素值可以被修改。
- 列表的定义:由中括号 “[]” 定义,元素以逗号分开。例如:
>>>num = ['001', '002', '003']
- 列表的取值:
- 可以单独取出某一位置元素的数值,列表中元素的索引由 0 开始。例如:
>>>num = ['001', '002', '003']
>>>print(num[0])
001
>>>print(num[1])
002
>>>print(num[2])
003
- 可以获取列表指定范围的一组元素,语法为
列表名[起始位置:终止位置]
,输出起始位置到终止位置前的元素,不包括终止位置。例如:
>>>num = ['001', '002', '003']
>>>print(num[0:1])
['001']
>>>print(num[0:2])
['001', '002']
>>>print(num[0:3])
['001', '002', '003']
>>>print(num[1:2])
['002']
>>>print(num[1:3])
['002', '003']
- 修改列表元素值:可以修改指定位置的列表元素值。例如:
>>>num = ['001', '002', '003']
>>>num[0] = '004'
>>>print(num)
['004', '002', '003']
- 添加列表元素:
- 可以把一个元素添加到列表的最后,使用
append
方法。例如:
- 可以把一个元素添加到列表的最后,使用
>>>num = ['001', '002', '003']
>>>num.append('004')
>>>print(num)
['001', '002', '003', '004']
- 在列表指定位置前插入新的元素,使用
insert
方法。例如:
>>>num = ['001', '002', '003']
>>>num.insert(1, '004')
>>>print(num)
['001', '004', '002', '003']
- 删除列表元素:可以删除列表指定索引位置的元素,使用
del
语句。例如:
>>>num = ['001', '002', '003']
>>>del num[1]
>>>print(num)
['001', '003']
- 查找列表元素:使用
in
关键字可以查找列表中是否存在指定的数值,返回布尔类型 True 或 False。例如:
>>>num = ['001', '002', '003']
>>>'001' in num
True
>>>'004' in num
False
- 合并列表:多个列表可以使用加号 (+) 进行合并,加号后面的列表元素会追加到前面列表的后面。例如:
>>>num1 = ['001', '002']
>>>num2 = ['003', '004']
>>>numAll = num1 + num2
>>>print(numAll)
['001', '002', '003', '004']
>>>numAll = num2 + num1
>>>print(numAll)
['003', '004', '001', '002']
六、元组的创建方式
6.1 使用圆括号直接创建
直接运用圆括号 ()
并在其中添加元素,就能创建元组。示例如下:
6.2 使用 tuple () 函数创建
借助 tuple()
函数,可以将其他可迭代对象(像列表、字符串等)转换为元组。示例如下:
七、元组的基本操作
7.1 访问元组元素
可以通过索引来访问元组中的元素,索引从 0 开始。也能使用负索引从后往前访问元素, -1 表示最后一个元素。示例如下:
7.2 切片操作
切片操作能够获取元组的子元组,语法为 tuple[start:stop:step]
,其中 start
是起始索引,stop
是结束索引(不包含该索引对应的元素),step
是步长。示例如下:
7.3 元组的拼接与重复
tuple1 = (1, 2)
tuple2 = (3, 4)
new_tuple = tuple1 + tuple2
print(new_tuple)
tuple1 = (1, 2)
repeated_tuple = tuple1 * 3
print(repeated_tuple)
7.4 元组的长度
使用 len()
函数可以获取元组的长度,也就是元组中元素的个数。示例如下:
八、元组的遍历
8.1 使用 for 循环遍历
可以使用 for
循环逐个访问元组中的元素。示例如下:
8.2 使用 enumerate () 函数遍历
enumerate()
函数可以同时获取元素的索引和值。示例如下:
九、元组的应用场景
9.1 作为函数返回值
函数可以返回多个值,这些值会被封装成一个元组。示例如下:
9.2 作为字典的键
因为元组是不可变的,所以可以作为字典的键,而列表不行。示例如下:
9.3 数据的保护
当数据不希望被修改时,使用元组可以确保数据的安全性。例如,存储一些常量配置信息。示例如下:
十、元组的解包
10.1 基本解包
可以将元组中的元素依次赋值给多个变量,这就是元组的解包。示例如下:
10.2 部分解包
在解包时,可以使用 *
来收集多余的元素,将其组成一个新的元组。示例如下:
十一、元组的方法
元组因为是不可变的,所以方法较少,主要有以下两个:
11.1 count () 方法
count()
方法用于统计元组中某个元素出现的次数。示例如下:
11.2 index () 方法
index()
方法用于查找元组中某个元素第一次出现的索引。示例如下:
- 重复列表:使用星号 (*) 可以对列表进行重复操作。例如:
>>>num1 = ['001', '002'] >>>num = num1 * 5 >>>print(num) ['001', '002', '001', '002', '001', '002', '001', '002', '001', '002']
五、元组的定义与基本概念
5.1元组的定义
在 Python 里,元组(tuple)属于不可变序列,这意味着一旦创建,其元素不能被修改、添加或者删除。元组使用圆括号
()
来定义,元素之间用逗号分隔。以下是定义元组的示例:# 定义一个包含整数的元组 numbers = (1, 2, 3, 4, 5) print(numbers)# 定义一个包含不同数据类型的元组 mixed_tuple = (1, "hello", True, 3.14) print(mixed_tuple)
即便元组仅包含一个元素,也得在元素后面加上逗号,否则 Python 会把它当作普通的数据类型来处理。示例如下:
# 正确定义包含一个元素的元组 single_tuple = (1,) print(type(single_tuple))# 错误定义,会被识别为整数 not_a_tuple = (1) print(type(not_a_tuple))
5.2 元组与列表的区别
元组和列表均为序列类型,然而它们存在显著差异:
- 可变性:元组是不可变的,而列表是可变的。这就使得元组在需要保证数据不被意外修改的场景下更为适用,比如作为字典的键。
- 语法:元组使用圆括号
()
定义,列表使用方括号[]
定义。 - 性能:由于元组不可变,在创建和访问时,其性能通常优于列表。
- 拼接:使用
+
运算符可以把两个元组拼接成一个新的元组。示例如下: - 重复:使用
*
运算符可以将元组重复指定的次数。示例如下: