Python 入门基础精讲:从环境搭建到核心语法与数据类型
前言
在日常工作和开发中,我们总会遇到需要自动化处理的场景:批量处理文本、重命名整理图片、开发小型工具或游戏,亦或是为其他语言的类库编写测试用例。
而 Python 作为一门简洁、高效的通用编程语言,恰好能完美解决这些问题。它兼顾了脚本语言的便捷性和高级编程语言的完整性,错误检查更友好,内置丰富的高级数据结构,还能轻松与其他语言协同,成为编程入门和实际开发的优选语言。本文将从 Python 的核心优势出发,详细讲解 Linux 和 Windows 系统的环境搭建步骤,再深入梳理 Python 的基础语法和常用数据类型,内容简单易懂、条理清晰,适合 Python 零基础入门者学习。
一、Python 的核心优势与应用领域
1. 核心优势
Python 能成为主流编程语言,核心在于其易用性和功能性的高度结合:
- 相比 Shell 脚本、批处理文件,Python 能为大型程序提供更完善的结构和支持,模块化设计让代码可重用性大幅提升;
- 内置文件 I/O、系统调用、Socket 通信、GUI 开发等标准模块,无需重复造轮子,可直接作为开发基础;
- 属于解释型语言,无需编译、链接步骤,开发周期大幅缩短,交互式解释器还能快速测试代码、验证思路;
- 语法简洁紧凑,用缩进组织代码块、无需声明变量 / 参数,一行语句就能实现复杂操作,代码可读性和开发效率双高。
2. 主要应用领域
Python 是通用编程语言,学习曲线平缓,应用场景覆盖多个行业,核心领域包括:
- 数据科学与机器学习:依托 NumPy、Pandas、Scikit-learn、TensorFlow 等强大库和框架,成为该领域的主流语言;
- Web 开发:Django、Flask 等轻量 / 全能框架,能快速开发高性能 Web 应用;
- 自动化测试:unittest、pytest 等框架,轻松实现用例编写、自动化执行;
- 网络爬虫:BeautifulSoup、Scrapy、Requests 等库,便捷解析网页、获取数据;
- 游戏开发:Pygame、Panda3D 等引擎,支持小型游戏和游戏辅助工具开发;
- 数据分析与可视化:NumPy、Pandas 做数据处理,Matplotlib、Seaborn、Bokeh 实现数据可视化,让数据更直观。
二、Python 运行环境搭建
Python 支持跨平台运行,主流的 Linux 和 Windows 系统搭建步骤如下,本次以 Python3.11.6 版本为例,步骤简单易操作。
1. Linux 系统(CentOS)环境搭建
(1)下载 Python 安装包
从 Python 官方网站(http://www.python.org)下载 3.11.6 版本的压缩包,上传至 Linux 服务器。
(2)安装编译依赖包
首先配置阿里的 centos 基础源和 epel 扩展源,再执行以下命令安装编译所需依赖,解决后续操作中的乱码、SSL 等问题:
bash
# 安装基础编译环境
yum -y install gcc zlib zlib-devel libffi libffi-devel
# 解决方向键、删除键乱码
yum -y install readline-devel
# 安装SSL相关依赖
yum -y install openssl-devel openssl11 openssl11-devel
# 配置编译FLAG,使用最新openssl库
export CFLAGS=$(pkg-config –cflags openssl11)
export LDFLAGS=$(pkg-config –libs openssl11)
(3)解压并安装 Python
执行解压命令,进入解压目录后配置安装路径,再进行编译和安装:
bash
# 解压压缩包
tar xvf Python-3.11.6.tar.xz
# 进入解压目录
cd Python-3.11.6/
# 配置安装路径为/usr/local/python3,可添加可选优化配置
./configure –prefix=/usr/local/python3
# 编译
make
# 安装,若已有其他Python3版本,用make altinstall避免覆盖系统配置
make install
(4)建立软连接并测试
为了全局调用 Python3 和 pip3,建立软连接,随后测试是否安装成功:
bash
# 建立Python3软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# 建立pip3软连接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
# 测试,进入Python交互环境
python3
# 执行打印语句,输出hello world即成功
print('hello world')
# 退出交互环境:Ctrl+D 或 exit()
(5)配置国内 pip 源并更新
默认 pip 源下载速度慢,配置阿里源并更新 pip 至最新版本:
bash
# 创建pip配置文件并写入阿里源
cat <<EOF> /root/.config/pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
EOF
# 也可使用以下两条命令配置
# pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple
# pip3 config set install.trusted-host mirrors.aliyun.com
# 更新pip
pip3 install –upgrade pip
2. Windows 系统环境搭建
Windows 系统安装更直观,分为 Python 程序安装、编译器配置、国内源配置三步。
(1)安装 Python 程序
(2)安装 VSCode 编译器及插件
Python 自带的 IDLE 编辑器体验较差,推荐使用 VSCode,步骤如下:
(3)配置国内 pip 源并更新
和 Linux 系统一致,配置阿里源提升下载速度,命令行执行:
bash
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 基础语法
语法是编程的基础,Python 的语法简洁且有独特的规范,掌握以下核心点,就能编写基础的 Python 代码。
1. 标识符
标识符是变量、常量、函数、类等对象的名称,Python 对其命名有严格规定,且全程严格区分大小写:
- 字符只能包含字母、数字、下划线,不能有空格、标点、引号等;
- 首字符不能是数字,必须是字母或下划线;
- 不能使用 Python 的关键字(保留字)作为标识符;
- 长度无限制,中文也可作为标识符(不推荐)。示例:合法标识符a、_id、Python123;非法标识符123a、$name、if(关键字)。
2. 保留字(关键字)
保留字是 Python 官方规定的、用于实现语法功能的专用标识符,全部为小写,不能自定义使用。可通过以下代码查看当前 Python 版本的所有关键字:
python
import keyword
print(keyword.kwlist)
常见关键字:False、None、True、if、else、for、while、def、class等。
3. 注释
注释是代码中的说明性文字,执行代码时会被忽略,用于提高代码可读性,分为单行注释和多行注释:
- 单行注释:以#开头,从#到本行末尾均为注释内容,示例:# 这是单行注释;
- 多行注释:Python 无专门的多行注释语法,可在每一行前加#,示例:
python
# 这是多行注释第一行
# 这是多行注释第二行
4. 语句与缩进
- 单行语句:Python 无需分号结束语句,直接换行即可,示例:a=10、print('hello');
- 代码块:一组实现特定功能的语句,首行以关键字开头、冒号:结束,用缩进而非大括号组织,默认 4 个空格为一个缩进(VSCode、PyCharm 中 Tab 键自动转换为 4 个空格);示例:
python
a=10
if a>5:
print("a大于5") # 缩进4个空格,属于if的代码块
else:
print("a小于5") # 缩进4个空格,属于else的代码块 - 多行语句:若一条语句过长,可使用反斜杠\\换行,示例:
python
print("我的名字\\
是张三\\
今年20岁")
5. pass 语句
pass 是占位语句,无任何实际功能,仅为保证语法正确性,适用于 “需要写代码但暂时无需实现逻辑” 的场景,示例:
python
a=10
if a>5:
pass # 暂时不实现逻辑,用pass占位,避免报错
else:
print("a小于5")
四、Python 常用内置数据类型
Python 内置了多种常用数据类型,无需额外定义即可使用,核心包括数字、字符串、列表、元组、字典,每种类型有专属的定义方式和操作方法,下面逐一讲解。
1. 数字类型
数字类型用于表示数值,包括整型、浮点型、布尔型,Python 会根据变量值自动判断类型,且变量类型可动态修改。
- 整型:整数,示例:x=123、num=-5;
- 浮点型:带小数的数,示例:y=1.98、price=99.9;
- 布尔型:用于逻辑运算,只有两个值True(真)和False(假),严格区分大小写,比较运算符的返回值为布尔型,示例:
python
f=True
print(3>4) # 输出False
print(5.2>2.1) # 输出True - 数字运算:支持+、-、*、/四则运算,还有%(求模,取余数)、**(求幂,计算累乘),运算顺序遵循 “先乘除后加减,小括号优先”,示例:
python
print(8%5) # 输出3
print(2**4) # 输出16
print((5+8)*3) # 输出39
2. 字符串类型
字符串是数字、字母、符号的有序集合,作为一个整体使用,定义方式有 3 种,且必须成对使用引号:
- 单引号:name='Python',适用于简单字符串;
- 双引号:address="北京市海淀区",适用于字符串中包含单引号的场景,示例:title="Let's Go!";
- 三引号:content='''这是多行字符串 第一行 第二行''',适用于多行文字,也可用于字符串中同时包含单、双引号的场景,示例:info='''He said "Hello!" and I said 'Hi!' '''。
字符串特殊操作:
- 转义字符:用\\表示,可输出单引号、双引号等特殊字符,示例:print('Let\\'s Go!')(输出 Let's Go!),常用转义字符还有\\n(换行)、\\t(制表符);
- 乘法操作:字符串可与整型数字相乘,实现字符串重复,示例:print(3*'a')(输出 aaa)。
3. 列表
列表(list)是 Python最常用的可变数据结构,由中括号[]定义,元素以逗号分隔,可存储任意类型数据,支持添加、删除、修改、查找等操作,元素有序且索引从 0 开始。
(1)基本定义
python
# 定义空列表
empty_list = []
# 定义包含字符串的列表
num_list = ['001', '002', '003']
# 定义包含不同类型的列表
mix_list = [1, 'Python', True]
(2)核心操作
- 取值:通过列表名[索引]取单个元素,列表名[起始索引:终止索引]取指定范围元素(含起始,不含终止),支持负数索引(-1 表示最后一个元素);示例:
python
num = ['001', '002', '003']
print(num[0]) # 输出001
print(num[0:2]) # 输出['001', '002']
print(num[-1]) # 输出003 - 修改:通过列表名[索引]=新值修改指定位置元素,示例:num[0]='004'(num 变为 ['004', '002', '003']);
- 添加:append(元素)在列表末尾添加,insert(索引, 元素)在指定索引前插入;示例:
python
num.append('004') # 末尾添加,num变为['001', '002', '003', '004']
num.insert(1, '005') # 索引1前插入,num变为['001', '005', '002', '003'] - 删除:通过del 列表名[索引]删除指定位置元素,示例:del num[1](删除索引 1 的元素);
- 查找:通过元素 in 列表名判断元素是否存在,返回布尔值,示例:print('001' in num)(输出 True);
- 合并与重复:+合并两个列表,*实现列表重复,示例:
python
list1 = [1,2]
list2 = [3,4]
print(list1+list2) # 输出[1,2,3,4]
print(list1*2) # 输出[1,2,1,2]
(3)注意事项
- 索引越界:访问不存在的索引会报错,示例:num[5](num 只有 3 个元素,索引最大为 2,报错);
- 嵌套列表:列表元素可是列表,通过列表名[外层索引][内层索引]取值,示例:
python
nest_list = [['001', '002'], ['101', '102']]
print(nest_list[0][1]) # 输出002
4. 元组
元组(tuple)与列表类似,是有序的不可变数据结构,由小括号()定义,元素以逗号分隔,一旦创建,元素不能添加、修改、删除,操作速度比列表快,数据更安全。
(1)基本定义
python
# 定义元组
num_tuple = ('001', '002', '003')
# 空元组
empty_tuple = ()
(2)核心操作
- 取值:与列表完全一致,通过索引取值,支持范围取值、负数索引,示例:
python
print(num_tuple[2]) # 输出003
print(num_tuple[0:2])# 输出('001', '002') - 删除:不能删除单个元素,可通过del 元组名删除整个元组;
- 类型转换:与列表可互相转换,list(元组名)将元组转为列表(可变),tuple(列表名)将列表转为元组(不可变),示例:
python
# 元组转列表
t = ('001', '002')
l = list(t)
l[0] = '003' # 列表可修改,输出['003', '002']
# 列表转元组
new_t = tuple(l)
print(new_t) # 输出('003', '002')
5. 字典
字典(dict)是 Python唯一的键值对数据结构,由花括号{}定义,每个元素为键:值形式,键唯一且不可变(字符串、数字、元组),值可任意类型,元素无序,通过键而非索引取值,支持添加、修改、删除操作。
(1)基本定义
python
# 定义字典,键为姓名,值为电话号码
mobile = {'Tom':'19911111111', 'Alice':'19922222222'}
# 空字典
empty_dict = {}
(2)核心操作
- 取值:通过字典名[键]取值,键不存在会报错,示例:print(mobile['Tom'])(输出 19911111111);
- 添加:对字典中不存在的键赋值,自动添加新的键值对,示例:mobile['Bob']='19933333333';
- 修改:对字典中已存在的键赋值,覆盖原有值,示例:mobile['Tom']='19944444444';
- 删除:通过del 字典名[键]删除指定键值对,示例:del mobile['Alice'];
(3)注意事项
- 键的唯一性:若定义多个相同键,字典仅保留最后一个键值对,示例:mobile={'Tom':'111', 'Tom':'222'}(最终为 {'Tom':'222'});
- 键区分大小写:Tom和tom视为两个不同键;
- 不支持+合并:字典不能用+运算符连接,会报错。
五、总结
本文从 Python 的优势和应用领域出发,详细讲解了 Linux 和 Windows 系统的 Python 环境搭建步骤,再梳理了 Python 的基础语法(标识符、注释、缩进等),最后深入讲解了 5 种核心内置数据类型的定义和常用操作。Python 的核心特点是简洁、灵活、易用,入门阶段重点掌握环境搭建、基础语法、数据类型操作,就能编写简单的 Python 程序,解决实际的自动化问题。

