前端害怕被蒸馏 快速入门Python 【demo_02】

0 阅读8分钟

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}")