前言
本文围绕 Python 3 基础语法展开快速梳理与实战上手教学,重点讲解 Windows 系统下的 Python 环境搭建流程,以及核心基础语法的应用要点。通过本文的内容梳理,助力零基础学习者高效掌握 Python 3 入门阶段的核心知识;若需了解完整、详尽的官方规范,可访问 Python 官方网站查阅。
一、环境搭建(Windows 系统)
1. 下载安装包
- 访问 Python 官方下载页:Python Windows 安装包列表
- 选择 Python 3.9 及以上版本,下载对应 64 位 / 32 位的 Windows Installer 安装包
2. 安装与基础配置
-
双击安装包,必须勾选「Add Python 3.x to PATH」(关键步骤,避免后续手动配环境变量)
-
安装方式选择:
- 新手推荐:直接点击「Install Now」(默认安装到 C 盘,操作最简单)
- 自定义路径:点击「Customize installation」,可指定安装路径(如
D:\Python311)
-
点击「Install」,等待界面提示「Setup was successful」即安装完成
3. 验证安装结果
- 按下 Win+R,输入
cmd打开命令提示符 - 输入命令
python --version,若显示 Python 版本号(如Python 3.11.5),则安装成功
4. 补充:手动配置环境变量(未勾选 PATH 时)
若安装时未勾选「Add Python 3.x to PATH」,需手动配置:
-
右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
-
在「系统变量」中找到「Path」,点击「编辑」→「新建」,添加两行路径:
- Python 安装根路径(如
D:\Python311) - Python 安装路径下的 Scripts 文件夹(如
D:\Python311\Scripts)
- Python 安装根路径(如
-
保存后重启 cmd,重新执行
python --version验证
二、特殊问题解决:pip 安装失败处理
pip 是 Python 包管理工具,若安装后无法使用,按以下步骤修复(适配 Python 3.14):
1. 补装 pip
-
下载脚本:访问 bootstrap.pypa.io/get-pip.py,右键「另存为」到 Python 安装目录(如
C:\pythoncore-3.14-64) -
执行安装:
- cmd 中切换到该目录:
cd 你的Python安装路径(如cd C:\pythoncore-3.14-64) - 执行命令:
python get-pip.py,完成后会自动生成 Scripts 文件夹(内含 pip.exe)
- cmd 中切换到该目录:
2. 配置 pip 环境变量
-
重复「环境搭建」中手动配环境变量的步骤,在「Path」中新增:
- Python 安装目录(如
C:\pythoncore-3.14-64) - 上述目录下的 Scripts 文件夹(如
C:\pythoncore-3.14-64\Scripts)
- Python 安装目录(如
-
重启 cmd,输入
pip --version,显示版本号即配置成功
三、核心基础语法
1. 文件后缀
Python 代码文件的后缀为 .py(如 test.py)
2. 注释
注释用于标注代码含义,不参与程序执行:
# 单行注释:以 # 开头
print("Hello World") # 行尾也可加单行注释
# 多行注释:用三单引号/三双引号包裹
'''
这是多行注释第一行
这是多行注释第二行
支持换行,适用于大段说明
'''
"""
双引号版多行注释,功能与单引号一致
按需选择即可
"""
3. 基础数据类型
| 类型 | 示例代码(修正后规范写法) | 说明 |
|---|---|---|
| 字符串 | str = "hello world" | 用单 / 双引号包裹文本 |
| 数字 | num_int = 1 # 整型``num_float = 0.12 # 浮点型``num_complex = 1+2j # 复数 | 包含整型、浮点型、复数 |
| 布尔值 | bool_true = True``bool_false = False | 仅 True/False(首字母大写) |
| 列表 | list_arr = [0, 1, 2, 3, 4] | 有序、可变的序列 |
| 元组 | tup = ('abcd', 786, 2.23, 'runoob', 70.2) | 有序、不可变的序列 |
| 字典 | dict_info = {"name":"boyka","age":20,"sex":"man"} | 键值对结构,无序、可变 |
| 集合 | set_param = {1,2,3,4,5,6}``new_set = set([1,2,3]) | 无序、无重复元素的集合 |
| 字节类型 | b = bytes("boyka", encoding="utf-8") | 二进制数据类型 |
4. 判断语句
Python 支持 if-elif-else 和 match-case(Python 3.10+ 新增)两种判断方式:
# 方式1:if-elif-else
number_int = "2"
if number_int == "1":
print("春天")
elif number_int == "2":
print("夏天")
elif number_int == "3":
print("秋天")
else:
print("冬天")
# 方式2:match-case(模式匹配)
x = 2
match x:
case 1:
print("春天")
case 2:
print("夏天")
case 3:
print("秋天")
case _: # 匹配所有未命中的情况
print("冬天")
5. 循环语句
(1)循环控制关键字
break:跳出整个循环,终止循环执行continue:跳过当前次循环,直接执行下一次循环pass:空语句,仅占位保持程序结构完整,无实际功能
(2)循环类型
# for 循环(遍历序列/范围)
for i in range(10): # 遍历 0-9
print(i)
# while 循环(条件满足时执行)
i = 0
while i < 10:
print(i)
i += 1 # 等价于 i = i + 1,避免死循环
6. 函数
函数是可复用的代码块,分为自定义函数和匿名函数:
# 1. 自定义函数
def custom_func(param):
"""自定义函数示例"""
print("这是一个函数")
return param # 返回值
# 调用函数(需传参,或定义默认参数)
result = custom_func("测试参数")
print(result) # 输出:测试参数
# 2. 匿名函数(lambda):简化简单逻辑的函数定义
add = lambda a, b, c: a + b + c
print(add(1, 2, 3)) # 输出:6
7. 运算符
| 运算符类型 | 符号 / 关键字 | 示例 | |
|---|---|---|---|
| 算术运算符 | +、-、*、/、%、// | 10 // 3 → 3(取整) | |
| 比较运算符 | ==、!=、>、<、>=、<= | 5 == 5 → True | |
| 赋值运算符 | =、+=、-=、*=、/=、%=、//=、:= | a := 10(海象赋值) | |
| 位运算符 | &、 | 、^、~、<<、>> | 6 << 1 → 12(左移) |
| 逻辑运算符 | and、or、not | True and False → False | |
| 成员运算符 | in、not in | 3 in [1,2,3] → True | |
| 身份运算符 | is、is not | a is b(判断内存地址) |
注:原文比较运算符中「=」是笔误,正确的等于判断是「==」,「=」仅用于赋值。
8. 输入与输出
# 1. 控制台输出
print("hello world") # 基础输出
print("姓名:%s,年龄:%d" % ("boyka", 20)) # 格式化输出
# 2. 控制台输入(获取用户输入,返回字符串类型)
user_input = input("请输入内容:")
print(f"你输入的是:{user_input}")
# 3. 文件输出(简单示例)
with open("test.txt", "w", encoding="utf-8") as f:
f.write("写入文件的内容")
9. 数据类型转换
常用转换函数:
int():转为整型(如int("123") → 123)float():转为浮点型(如float(123) → 123.0)str():转为字符串(如str(123) → "123")list():转为列表(如list((1,2,3)) → [1,2,3])tuple():转为元组(如tuple([1,2,3]) → (1,2,3))dict():转为字典(如dict([("name","boyka")]) → {"name":"boyka"})
10. 错误和异常
四、内建方法
1、字符串(str)内建方法
字符串方法主要用于字符串的查找、替换、分割、拼接、大小写转换等,所有方法均不修改原字符串(字符串不可变),返回新字符串。
| 方法 | 功能说明 | 示例代码 | 输出 / 结果 |
|---|---|---|---|
str.lower() | 转为小写 | "Hello World".lower() | hello world |
str.upper() | 转为大写 | "Hello World".upper() | HELLO WORLD |
str.strip() | 去除首尾空白(可指定字符) | " abc ".strip() / "###abc###".strip("#") | abc / abc |
str.split(sep) | 按分隔符分割为列表 | "a,b,c".split(",") | ['a', 'b', 'c'] |
str.join(iter) | 将可迭代对象拼接为字符串 | "-".join(['a', 'b', 'c']) | a-b-c |
str.replace(old, new) | 替换子串 | "abc".replace("a", "x") | xbc |
str.find(sub) | 查找子串位置,找不到返回 -1 | "abc".find("b") / "abc".find("x") | 1 / -1 |
str.count(sub) | 统计子串出现次数 | "ababa".count("a") | 3 |
str.startswith(prefix) | 判断是否以指定前缀开头 | "abc".startswith("a") | True |
str.endswith(suffix) | 判断是否以指定后缀结尾 | "abc".endswith("c") | True |
str.format() | 格式化字符串 | "姓名:{},年龄:{}".format("张三", 20) | 姓名:张三,年龄:20 |
2、数字(int/float)内建方法
Python 数字(整型、浮点型)的内建方法较少,核心是类型转换和数值判断,复数(complex)有专属属性方法:
| 方法 / 属性 | 功能说明 | 示例代码 | 输出 / 结果 |
|---|---|---|---|
int.bit_length() | 返回表示整数的二进制位数 | 10.bit_length()(10 的二进制是 1010) | 4 |
float.is_integer() | 判断浮点型是否为整数(如 2.0 是,2.5 否) | 2.0.is_integer() / 2.5.is_integer() | True / False |
complex.real | 复数的实部(属性) | (1+2j).real | 1.0 |
complex.imag | 复数的虚部(属性) | (1+2j).imag | 2.0 |
补充:数字常用内置函数(非对象方法):
abs()(绝对值)、round()(四舍五入)、max()/min()(最值)、pow()(幂运算)。
3、列表(list)内建方法
列表是可变序列,方法可直接修改原列表,核心用于增删改查、排序、反转等:
| 方法 | 功能说明 | 示例代码 | 操作后列表 |
|---|---|---|---|
list.append(x) | 末尾添加元素 | lst = [1,2]; lst.append(3) | [1,2,3] |
list.insert(index, x) | 指定位置插入元素 | lst = [1,3]; lst.insert(1, 2) | [1,2,3] |
list.remove(x) | 删除第一个匹配的元素 | lst = [1,2,2,3]; lst.remove(2) | [1,2,3] |
list.pop(index) | 删除指定位置元素(默认最后一个),返回该元素 | lst = [1,2,3]; lst.pop(1) | 返回 2,列表变为 [1,3] |
list.clear() | 清空列表 | lst = [1,2]; lst.clear() | [] |
list.index(x) | 查找元素第一个匹配的索引 | [1,2,3].index(2) | 1 |
list.count(x) | 统计元素出现次数 | [1,2,2,3].count(2) | 2 |
list.sort(reverse=False) | 原地排序(默认升序) | lst = [3,1,2]; lst.sort() | [1,2,3] |
list.reverse() | 原地反转列表 | lst = [1,2,3]; lst.reverse() | [3,2,1] |
list.copy() | 浅拷贝列表 | lst = [1,2]; new_lst = lst.copy() | new_lst = [1,2] |
4、元组(tuple)内建方法
元组是不可变序列,方法极少,仅支持查询类操作:
| 方法 | 功能说明 | 示例代码 | 输出 / 结果 |
|---|---|---|---|
tuple.index(x) | 查找元素第一个匹配的索引 | (1,2,3).index(2) | 1 |
tuple.count(x) | 统计元素出现次数 | (1,2,2,3).count(2) | 2 |
注:元组无增删改方法,若需修改需先转为列表(
list(tuple)),操作后再转回元组(tuple(list))。
5、字典(dict)内建方法
字典是键值对结构,方法围绕键、值、键值对的增删改查展开:
| 方法 | 功能说明 | 示例代码 | 输出 / 结果 |
|---|---|---|---|
dict[key] = value | 添加 / 修改键值对(基础操作,非方法) | d = {"name":"张三"}; d["age"] = 20 | d = {"name":"张三","age":20} |
dict.get(key, default) | 获取键对应值,无则返回默认值 | d = {"name":"张三"}; d.get("age", 0) | 0 |
dict.pop(key) | 删除指定键值对,返回对应值 | d = {"name":"张三"}; d.pop("name") | 返回 张三,字典变 {} |
dict.keys() | 返回所有键的可迭代对象 | {"name":"张三","age":20}.keys() | dict_keys(['name','age']) |
dict.values() | 返回所有值的可迭代对象 | {"name":"张三","age":20}.values() | dict_values(['张三',20]) |
dict.items() | 返回所有键值对的可迭代对象 | {"name":"张三","age":20}.items() | dict_items([('name','张三'),('age',20)]) |
dict.update(dict2) | 合并字典(覆盖重复键) | d1={"name":"张三"}; d2={"age":20}; d1.update(d2) | d1={"name":"张三","age":20} |
dict.clear() | 清空字典 | d = {"name":"张三"}; d.clear() | {} |
dict.popitem() | 删除并返回最后插入的键值对(3.7+) | d = {"name":"张三","age":20}; d.popitem() | 返回 ('age',20),字典变 {"name":"张三"} |
6、集合(set)内建方法
集合是无序、无重复元素的结构,方法核心是去重、集合运算(交并差)、增删元素:
| 方法 | 功能说明 | 示例代码 | 输出 / 结果 | |
|---|---|---|---|---|
set.add(x) | 添加元素(已存在则无操作) | s = {1,2}; s.add(3) | s = {1,2,3} | |
set.remove(x) | 删除元素(不存在则报错) | s = {1,2}; s.remove(2) | s = {1} | |
set.discard(x) | 删除元素(不存在则无操作,比 remove 安全) | s = {1,2}; s.discard(3) | s = {1,2} | |
set.pop() | 随机删除并返回一个元素(集合无序) | s = {1,2,3}; s.pop() | 随机返回 1/2/3,集合减少对应元素 | |
set.clear() | 清空集合 | s = {1,2}; s.clear() | set() | |
set.union(set2) | 并集(等价于 `s1 | s2`) | {1,2}.union({2,3}) | {1,2,3} |
set.intersection(set2) | 交集(等价于 s1 & s2) | {1,2}.intersection({2,3}) | {2} | |
set.difference(set2) | 差集(等价于 s1 - s2) | {1,2}.difference({2,3}) | {1} |
五、 错误和异常
# 函数
def runoob():
assert 1==1, "1 不等于 1"
# 异常处理
try:
runoob()
except AssertionError as error:
print(error)
else:
try:
with open('test.txt', encoding='utf-8') as file:
read_data = file.read()
print(read_data)
except FileNotFoundError as fnf_error:
print(fnf_error)
finally:
print('这句话,无论异常是否发生都会执行。')
六、常见标准库
Python 3 常见核心模块汇总表
| 模块分类 | 模块名 | 核心功能描述 |
|---|---|---|
| 系统交互 | os | 与操作系统交互:创建 / 删除 / 移动文件 / 目录、访问环境变量、路径处理等 |
| 系统交互 | sys | 与 Python 解释器交互:获取解释器版本 / 路径、标准输入输出、退出程序、命令行参数 |
| 系统交互 | shutil | 高级文件操作:递归复制 / 移动目录、文件权限修改、文件压缩 / 解压缩等 |
| 系统交互 | subprocess | 创建子进程:执行系统命令、调用外部程序、获取命令执行结果 / 状态 |
| 时间处理 | time | 基础时间处理:获取时间戳、格式化时间、程序计时、线程休眠等 |
| 时间处理 | datetime | 高级日期时间:处理日期 / 时间对象、时区转换、时间差 / 日期差计算、格式解析 |
| 时间处理 | calendar | 日历相关:生成日历、判断闰年、获取某月天数、星期计算等 |
| 数据计算 | math | 基础数学运算:三角函数、对数 / 指数、常数(π/e)、取整 / 绝对值等 |
| 数据计算 | random | 随机数生成:随机整数 / 浮点数、序列随机选择 / 打乱、随机种子设置等 |
| 数据计算 | statistics | 统计分析:计算均值 / 中位数 / 方差 / 标准差、众数、分位数等 |
| 数据计算 | numpy | 数值计算核心:多维数组(ndarray)、矩阵运算、广播机制、线性代数(第三方库) |
| 文本处理 | re | 正则表达式:文本匹配 / 搜索 / 替换 / 分割、正则模式编译、分组提取等 |
| 文本处理 | string | 字符串工具:字符常量(大小写字母 / 数字)、字符串格式化、模板替换、字符判断 |
| 文本处理 | json | JSON 处理:Python 对象与 JSON 字符串互转(编码 / 解码)、格式化输出 JSON |
| 文本处理 | csv | CSV 文件操作:读取 / 写入 CSV 数据、处理分隔符 / 引号、支持大文件逐行读写 |
| 网络编程 | urllib | 基础网络请求:URL 解析、发送 HTTP/HTTPS 请求、下载文件、处理响应 / 异常 |
| 网络编程 | requests | 高级 HTTP 请求:GET/POST/PUT/DELETE 请求、Cookie 管理、会话保持(第三方库) |
| 网络编程 | socket | 底层网络通信:TCP/UDP 套接字编程、客户端 / 服务端开发、端口监听 / 数据传输 |
| 网络编程 | smtplib/email | 邮件发送:smtplib 连接邮件服务器、email 构造邮件内容(正文 / 附件 / 主题) |
| 数据存储 | pickle | Python 对象序列化:将任意对象保存为二进制文件、从二进制文件恢复对象 |
| 数据存储 | shelve | 轻量级持久化存储:以字典形式操作文件,存储 / 读取 Python 对象(基于 pickle) |
| 数据存储 | sqlite3 | 内置数据库:操作 SQLite 数据库、执行 SQL 语句、事务管理、数据增删改查 |
| 并发编程 | threading | 多线程编程:创建线程、线程同步(锁 / 信号量)、线程池、守护线程 |
| 并发编程 | multiprocessing | 多进程编程:创建进程、进程间通信(管道 / 队列)、进程池、避免 GIL 限制 |
| 并发编程 | asyncio | 异步编程:协程创建 / 运行、事件循环、异步 IO、任务调度(Python 3.4+) |
| 图形界面 | tkinter | 内置 GUI:创建窗口、按钮 / 输入框 / 标签等控件、简单图形界面开发 |
| 图形界面 | pyqt5/pyside2 | 高级 GUI:跨平台界面开发、丰富控件、信号与槽机制、界面布局(第三方库) |
| 数据处理 | pandas | 数据分析核心:DataFrame/Series 数据结构、数据清洗 / 筛选 / 聚合、文件读写(第三方) |
| 调试 / 日志 | pdb | 内置调试器:断点设置、单步执行、查看变量、调试程序错误 |
| 调试 / 日志 | logging | 日志管理:设置日志级别、输出到文件 / 控制台、日志格式化、多模块日志配置 |
| 路径处理 | pathlib | 面向对象路径:统一处理不同系统路径、路径拼接 / 判断、文件属性查询(Python 3.4+) |
| 加密解密 | hashlib | 哈希算法:计算 MD5/SHA1/SHA256 哈希值、文件校验、密码加密(不可逆) |
| 加密解密 | base64 | 编码解码:Base64/Base32 编码、二进制数据转文本格式、网络传输数据处理 |
总结
至此,关于 Python 3 基础入门的内容梳理已全部结束。本文围绕 Windows 系统下 Python 3.9 及以上版本展开讲解,核心涵盖环境搭建(含 pip 安装失败的修复方法)、基础语法、各类数据类型的内建方法,以及常用标准库和第三方库的核心功能,旨在助力零基础学习者快速掌握 Python 入门知识。