Python 核心知识点技术文档
1. 循环控制语句
1.1 while 循环
概念说明
while 循环是一种条件循环,只要条件表达式为 True,就会重复执行循环体中的代码。
语法格式
while 条件表达式:
# 循环体代码
# 通常需要修改条件变量,否则可能导致死循环
代码示例
print('---while循环---')
count = 0
while count < 5:
print('count的值是:', count)
count += 1
关键要点
- 条件表达式必须返回布尔值
- 循环体内必须有改变条件变量的语句
- 避免无限循环
1.2 break 语句
概念说明
break 语句用于立即终止当前循环,跳出循环体,继续执行循环后面的代码。
语法格式
for 变量 in 可迭代对象:
if 条件:
break # 立即跳出循环
代码示例
print('---break语句的使用---')
for i in range(10):
if i == 5:
break
print('i的值是:', i)
# 输出: 0, 1, 2, 3, 4
使用场景
- 找到目标元素后提前结束循环
- 满足特定条件时停止迭代
1.3 continue 语句
概念说明
continue 语句用于跳过当前循环的剩余代码,直接进入下一次循环迭代。
语法格式
for 变量 in 可迭代对象:
if 条件:
continue # 跳过本次循环剩余代码
# 只有条件不满足时才会执行的代码
代码示例
print('---continue语句的使用---')
for i in range(10):
if i % 2 == 0:
continue
print('i的值是:', i)
# 输出: 1, 3, 5, 7, 9 (跳过偶数)
使用场景
- 过滤特定条件的数据
- 跳过异常或不需要处理的元素
2. 列表推导式 (List Comprehension)
概念说明
列表推导式是一种简洁的创建列表的方法,可以在一行代码中完成循环和条件判断。
语法格式
# 基本格式
[表达式 for 变量 in 可迭代对象]
# 带条件格式
[表达式 for 变量 in 可迭代对象 if 条件]
代码示例
print('---列表的推导式---')
squares = [x**2 for x in range(10)]
print('squares列表的值是:', squares)
# 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
优势
- 代码更简洁
- 执行效率更高
- 可读性好
3. 函数编程
3.1 函数定义和调用
概念说明
函数是一段可重复使用的代码块,可以接受参数并返回值。
语法格式
def 函数名(参数列表):
"""文档字符串(可选)"""
# 函数体
return 返回值 # 可选
代码示例
def greet(name):
return 'Hello, ' + name + '!'
greeting = greet('Alice')
print('greeting的值是:', greeting)
参数类型
- 位置参数:按顺序传递
- 默认参数:有默认值的参数
- 可变参数:*args, **kwargs
3.2 模式匹配 (match-case 语句)
概念说明
match-case 是 Python 3.10+ 引入的模式匹配语句,类似于其他语言的 switch-case,但功能更强大。
语法格式
match 表达式:
case 模式1:
# 处理代码
case 模式2 | 模式3: # 或模式
# 处理代码
case _: # 默认情况
# 处理代码
代码示例
def http_status(status):
match status:
case 200:
return 'OK'
case 404:
return 'Not Found'
case 500 | 502 | 503:
return 'Internal Server Error'
case _:
return 'Unknown Status'
print(f'HTTP状态码{200}对应的结果是:{http_status(200)}')
print(f'HTTP状态码{502}对应的结果是:{http_status(502)}')
模式类型
- 字面量模式:匹配具体值
- 或模式:使用
|连接多个模式 - 通配符模式:
_匹配任何值
3.3 递归函数
概念说明
递归函数是指在函数内部调用自身的函数。必须有终止条件,否则会导致无限递归。
语法格式
def 函数名(参数):
if 终止条件:
return 基本情况
else:
return 函数名(修改后的参数)
代码示例
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
print('5的阶乘是:', factorial(5)) # 输出: 120
注意事项
- 必须有明确的终止条件
- 递归深度有限制(默认1000)
- 可能导致栈溢出
4. 数据分析 (Pandas)
概念说明
Pandas 是 Python 中强大的数据分析库,提供了 DataFrame 和 Series 两种主要数据结构。
核心数据结构
- DataFrame: 二维表格数据结构
- Series: 一维数据结构
代码示例
import pandas as pd
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)
print('DataFrame的值是:\n', df)
主要功能
- 数据读取和写入
- 数据清洗和预处理
- 数据分析和统计
- 数据可视化
5. 数据结构
5.1 元组 (Tuple)
概念说明
元组是一种有序、不可变的数据结构,可以包含任意类型的元素。
语法格式
# 创建元组
tuple_name = (元素1, 元素2, 元素3)
# 或
tuple_name = 元素1, 元素2, 元素3
代码示例
py_tuple = ('python', 18, '男')
print('py_tuple的值是:', py_tuple)
print('py_tuple的类型是:', type(py_tuple))
特性
- 有序: 元素有固定顺序
- 不可变: 创建后不能修改
- 可哈希: 可以作为字典的键
访问方式
# 通过索引访问
print(py_tuple[0]) # 'python'
print(py_tuple[-1]) # '男'
5.2 集合 (Set)
概念说明
集合是一种无序、可变的数据结构,包含不重复的元素。
语法格式
# 创建集合
set_name = {元素1, 元素2, 元素3}
# 或
set_name = set([元素1, 元素2, 元素3])
代码示例
py_set = {'python', 18, '男'}
print('py_set的值是:', py_set)
特性
- 无序: 元素没有固定顺序
- 唯一性: 自动去除重复元素
- 可变性: 可以添加和删除元素
遍历方式
for element in py_set:
print('元素是:', element)
6. 面向对象编程
6.1 类和对象
概念说明
类是对象的模板,对象是类的实例。类定义了对象的属性和方法。
语法格式
class 类名:
def __init__(self, 参数列表): # 构造函数
self.属性名 = 参数值
def 方法名(self, 参数列表):
# 方法实现
return 返回值
代码示例
class Book:
def __init__(self, title, author, book_type):
self.title = title
self.author = author
self.book_type = book_type
def get_books_info(self):
return f'书名:{self.title},作者:{self.author},类型:{self.book_type}'
book1 = Book('Python编程', '张三', '编程')
print('书籍信息:', book1.get_books_info())
关键概念
- self: 实例本身的引用
- init: 构造函数,创建对象时自动调用
- 方法: 类中定义的函数
6.2 继承
概念说明
继承允许子类继承父类的属性和方法,并可以添加新的属性和方法或重写现有方法。
语法格式
class 子类名(父类名):
def __init__(self, 参数列表):
super().__init__(父类参数) # 调用父类构造函数
# 子类特有的属性初始化
def 重写的方法名(self, 参数列表):
# 重写父类方法
pass
代码示例
class EBook(Book):
def __init__(self, title, author, book_type):
super().__init__(title, author, book_type)
self.file_format = 'PDF'
self.file_size = '5MB'
def get_books_info(self):
parent_info = super().get_books_info()
return f'{parent_info},文件格式:{self.file_format},文件大小:{self.file_size}'
继承优势
- 代码复用
- 层次化组织
- 多态性支持
6.3 多态
概念说明
多态是指同一方法在不同对象上可以有不同的行为。子类可以重写父类的方法,实现不同的功能。
代码示例
def print_book_info(book):
print('书籍信息是:', book.get_books_info())
book1 = Book('Python编程', '张三', '编程')
book2 = EBook('Python编程电子书', '李四', '电子书')
print_book_info(book1) # 调用 Book 类的 get_books_info
print_book_info(book2) # 调用 EBook 类的 get_books_info
多态特点
- 同一接口,不同实现
- 运行时动态绑定
- 提高代码灵活性
7. 文件操作
7.1 文件读取
概念说明
Python 使用 open() 函数打开文件,with 语句确保文件正确关闭。
语法格式
with open('文件名', 'r', encoding='编码格式') as 文件对象:
content = 文件对象.read() # 读取全部内容
# 或
line = 文件对象.readline() # 读取一行
# 或
lines = 文件对象.readlines() # 读取所有行
代码示例
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print('文件内容是:\n', content)
文件模式
'r': 只读模式'w': 写入模式(覆盖)'a': 追加模式'rb'/'wb': 二进制模式
7.2 文件写入
语法格式
with open('文件名', 'w', encoding='编码格式') as 文件对象:
文件对象.write('要写入的内容')
代码示例
with open('output.txt', 'w', encoding='utf-8') as file:
file.write('python 写入文件示例')
print('写入文件成功!')
7.3 文件追加
语法格式
with open('文件名', 'a', encoding='编码格式') as 文件对象:
文件对象.write('要追加的内容')
代码示例
with open('example.txt', 'a', encoding='utf-8') as file:
file.write('\n\n# 新追加的内容\n')
file.write('print("这是追加的内容")\n')
file.write('print("文件操作练习完成!")\n')
print('追加内容到example.txt成功!')
编码注意事项
- Windows 默认 GBK 编码
- 文件包含中文时必须指定
encoding='utf-8' - 避免 UnicodeDecodeError
8. 技术栈与环境要求
运行环境
- Python 版本: 3.10+ (支持 match-case)
- 主要库: pandas
- 操作系统: Windows/Linux/macOS
- 编码格式: UTF-8
安装依赖
pip install pandas
验证安装
import sys
print(f"Python 版本: {sys.version}")
import pandas as pd
print(f"Pandas 版本: {pd.__version__}")
9. 异常处理
try:
# 可能出错的代码
with open('file.txt', 'r', encoding='utf-8') as f:
content = f.read()
except FileNotFoundError:
print("文件不存在")
except UnicodeDecodeError:
print("编码错误")
except Exception as e:
print(f"发生错误: {e}")