sync from local backup

This commit is contained in:
chunyu
2026-08-05 23:59:15 +08:00
commit d48ec1747c
358 changed files with 34384 additions and 0 deletions
+96
View File
@@ -0,0 +1,96 @@
# 第1章 Python简介与安装
## 1.1 Python 是什么?
Python 是一种**解释型、面向对象、动态数据类型**的高级程序设计语言。由 Guido van Rossum 于1989年底发明,第一个公开发行版发行于1991年。
### Python 的特点
- **简洁优雅**:Python 的语法非常简洁,代码可读性强
- **跨平台**:可在 Windows、macOS、Linux 等多种操作系统运行
- **丰富的库**:拥有大量标准库和第三方库,覆盖各个领域
- **应用广泛**:Web开发、数据分析、人工智能、自动化运维等
### Python 的应用领域
| 领域 | 常用框架/库 | 典型应用 |
|------|-------------|----------|
| Web开发 | Django, Flask | 网站、API后端 |
| 数据分析 | Pandas, NumPy | 数据清洗、统计分析 |
| 人工智能 | TensorFlow, PyTorch | 机器学习、深度学习 |
| 自动化 | Scrapy, Selenium | 爬虫、自动化测试 |
| 游戏开发 | Pygame | 2D游戏开发 |
---
## 1.2 安装 Python
### Windows 安装步骤
1. 访问 [Python官网](https://www.python.org/downloads/)
2. 下载 Python 3.10+ 版本的安装包(推荐 3.10 或 3.11)
3. 运行安装程序
4. **重要**:勾选 **"Add Python to PATH"**
5. 点击 "Install Now" 完成安装
### 验证安装
打开命令提示符(cmd),输入:
python --version
若显示 `Python 3.10.x` 则安装成功。
---
## 1.3 第一个 Python 程序
打开 Python 自带的 **IDLE** 或任意文本编辑器,输入:
```python
print("Hello, Python!")
print("世界,你好!")
```
保存为 `hello.py` 文件,然后在命令行中运行:
python hello.py
输出结果:
Hello, Python!
世界,你好!
### 代码说明
- `print()` 是 Python 的输出函数
- 字符串需要用引号包裹,单引号 `'...'` 或双引号 `"..."` 均可
- Python 3 默认支持中文(UTF-8编码)
---
## 1.4 开发工具推荐
### IDLE(自带)
- Python 自带的简单IDE
- 适合初学者入门
### VS Code(推荐)
- 轻量级但功能强大
- 安装 Python 插件后支持代码补全、调试等
- 下载地址:https://code.visualstudio.com/
### PyCharm
- 专业的 Python IDE
- 功能丰富,适合大型项目
- 社区版免费
---
## 本章练习
1. 在电脑上安装 Python 3.10+
2. 使用 IDLE 或 VS Code 编写并运行 Hello World 程序
3. 尝试在 Python 交互式环境中计算 `1 + 1`、`"Hello" + "Python"`
> 安装 Python 时一定要勾选 "Add Python to PATH",否则需要手动配置环境变量。
+109
View File
@@ -0,0 +1,109 @@
# 第2章 变量与数据类型
## 2.1 变量
在 Python 中,变量不需要声明类型,直接赋值即可创建。
```python
name = "张三"
age = 20
height = 1.75
is_student = True
```
### 变量命名规则
1. **只能包含**:字母、数字、下划线
2. **不能以数字开头**
3. **区分大小写**:`Name` 和 `name` 是不同的变量
4. **不能使用关键字**:如 `if`、`for`、`class` 等
### 推荐命名风格
| 类型 | 示例 | 说明 |
|------|------|------|
| 普通变量 | `user_name` | 蛇形命名法 |
| 常量 | `MAX_SIZE` | 全大写 |
---
## 2.2 数字
### 整数(int)
```python
a = 100
b = -50
print(type(a)) # <class 'int'>
```
### 浮点数(float)
```python
pi = 3.14159
price = 9.9
```
### 数字运算
```python
print(10 + 3) # 加法
print(10 - 3) # 减法
print(10 * 3) # 乘法
print(10 / 3) # 除法
print(10 // 3) # 整除
print(10 % 3) # 取余
print(10 ** 3) # 幂运算
```
---
## 2.3 字符串
```python
name = "Python"
print(len(name)) # 字符串长度
print(name[0]) # 索引从0开始
print(name[0:3]) # 切片操作
print(name.upper()) # 转大写
```
### 字符串格式化
```python
name = "小明"
age = 18
print(f"我叫{name},今年{age}岁")
```
---
## 2.4 列表
```python
fruits = ["苹果", "香蕉", "橙子"]
fruits.append("西瓜")
fruits.insert(0, "梨")
fruits.pop()
```
---
## 2.5 字典
```python
student = {
"name": "张三",
"age": 20,
"major": "计算机科学"
}
print(student["name"])
```
---
## 本章练习
1. 创建一个包含5个元素的列表,并进行增删改操作
2. 创建一个学生字典,包含姓名、年龄、成绩等信息
3. 编写程序,输入圆的半径,计算圆的面积
+89
View File
@@ -0,0 +1,89 @@
# 第3章 条件判断与循环
## 3.1 条件判断
```python
age = 18
if age < 18:
print("未成年")
elif age < 60:
print("成年人")
else:
print("老年人")
```
### 比较运算符
| 运算符 | 含义 |
|--------|------|
| `==` | 等于 |
| `!=` | 不等于 |
| `>` | 大于 |
| `<` | 小于 |
### 逻辑运算符
```python
if age >= 18 and age <= 60:
print("劳动年龄")
if age < 12 or age > 65:
print("优惠票")
```
---
## 3.2 for 循环
```python
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"我喜欢吃{fruit}")
```
### range() 函数
```python
for i in range(5):
print(i) # 0 1 2 3 4
for i in range(1, 6):
print(i) # 1 2 3 4 5
```
---
## 3.3 while 循环
```python
total = 0
i = 1
while i <= 100:
total += i
i += 1
print(total) # 5050
```
---
## 3.4 break 和 continue
```python
for i in range(10):
if i == 5:
break
print(i) # 0 1 2 3 4
for i in range(10):
if i % 2 == 0:
continue
print(i) # 1 3 5 7 9
```
---
## 本章练习
1. 编写程序,判断一个年份是否为闰年
2. 打印100以内的所有质数
3. 编写程序,计算斐波那契数列的前20项
+83
View File
@@ -0,0 +1,83 @@
# 第4章 函数与模块
## 4.1 函数定义
```python
def greet(name):
"""函数的文档字符串"""
return f"你好,{name}!"
msg = greet("张三")
print(msg) # 你好,张三!
```
### 参数类型
```python
# 默认参数
def power(base, exponent=2):
return base ** exponent
print(power(3)) # 9
print(power(2, 3)) # 8
# 可变参数
def total(*numbers):
result = 0
for n in numbers:
result += n
return result
```
---
## 4.2 变量作用域
```python
count = 0
def increment():
global count
count += 1
increment()
print(count) # 1
```
---
## 4.3 匿名函数
```python
square = lambda x: x ** 2
print(square(5)) # 25
```
---
## 4.4 模块导入
```python
import math
print(math.pi)
import random
print(random.randint(1, 100))
```
### 常用标准库
| 模块 | 用途 |
|------|------|
| `os` | 操作系统接口 |
| `json` | JSON处理 |
| `datetime` | 日期时间 |
| `random` | 随机数 |
---
## 本章练习
1. 编写一个函数,计算列表中所有元素的平均值
2. 编写一个函数,统计字符串中每个字符出现的次数
3. 编写一个模块,包含计算圆面积、矩形面积的函数
+99
View File
@@ -0,0 +1,99 @@
# 第5章 面向对象编程(OOP)
## 5.1 面向对象概述
- **类(Class)**:抽象模板,定义属性和方法
- **对象(Object)**:类的实例
- **封装**:隐藏内部实现细节
- **继承**:子类继承父类的属性和方法
- **多态**:同一接口,不同实现
---
## 5.2 类和对象
```python
class Dog:
species = "犬科"
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
return f"{self.name} 汪汪叫!"
def __str__(self):
return f"{self.name}({self.age}岁)"
my_dog = Dog("旺财", 3)
print(my_dog.bark())
print(my_dog)
```
---
## 5.3 封装
```python
class BankAccount:
def __init__(self, owner, balance=0):
self.owner = owner
self.__balance = balance
def deposit(self, amount):
if amount > 0:
self.__balance += amount
def get_balance(self):
return self.__balance
```
---
## 5.4 继承
```python
class Animal:
def __init__(self, name):
self.name = name
class Cat(Animal):
def speak(self):
return f"{self.name} 喵喵叫"
class Dog(Animal):
def speak(self):
return f"{self.name} 汪汪叫"
```
---
## 5.5 魔术方法
```python
class Book:
def __init__(self, title, author, price):
self.title = title
self.author = author
self.price = price
def __str__(self):
return f"《{self.title}》 - {self.author}"
def __repr__(self):
return f"Book('{self.title}', '{self.author}', {self.price})"
def __eq__(self, other):
if isinstance(other, Book):
return self.title == other.title
return False
```
---
## 本章练习
1. 设计一个 `Student` 类,包含姓名、年龄、成绩属性
2. 使用继承创建 `Animal` 类及其子类
3. 实现一个单例模式的配置管理器类
+47
View File
@@ -0,0 +1,47 @@
# Python 简介与环境搭建
## 学习目标
- 了解 Python 语言特点
- 掌握 Python 安装方法
- 学会使用 IDLE 和命令行
## Python 简介
Python 是一种**解释型、高级、面向对象**的编程语言,由 Guido van Rossum 于 1991 年创建。
### 为什么选择 Python?
1. **简单易学** - 语法接近自然语言
2. **应用广泛** - Web开发、数据分析、人工智能
3. **社区活跃** - 丰富的第三方库
4. **跨平台** - Windows、macOS、Linux 通用
## 安装 Python
### Windows 安装步骤
1. 访问 [python.org](https://www.python.org/)
2. 下载最新版本 Python 3.x
3. 安装时勾选 **"Add Python to PATH"**
4. 点击 Install Now
### 验证安装
打开命令行输入:
```bash
python --version
```
## 第一个 Python 程序
```python
print("Hello, World!")
print("你好,Python!")
```
## 动手练习
1. 安装 Python 环境
2. 运行 `print("Hello, World!")`
3. 尝试使用不同的 print 输出
+42
View File
@@ -0,0 +1,42 @@
# 变量与数据类型
## 学习目标
- 理解变量的概念
- 掌握 Python 的基本数据类型
- 学会使用 type() 函数
## 什么是变量?
变量是用于存储数据的容器。Python 中的变量不需要声明类型,直接赋值即可创建。
```python
name = "小明" # 字符串
age = 25 # 整数
height = 1.75 # 浮点数
is_student = True # 布尔值
```
## 基本数据类型
| 类型 | 说明 | 示例 |
|------|------|------|
| `int` | 整数 | `42`, `-10` |
| `float` | 浮点数 | `3.14`, `-0.5` |
| `str` | 字符串 | `"Hello"` |
| `bool` | 布尔值 | `True`, `False` |
| `list` | 列表 | `[1, 2, 3]` |
| `dict` | 字典 | `{"name": "Tom"}` |
## 类型转换
```python
x = int("10") # 字符串转整数
y = str(42) # 整数转字符串
z = float("3.14") # 字符串转浮点数
```
## 动手练习
1. 创建不同类型的变量
2. 使用 type() 查看变量类型
3. 练习类型转换
+51
View File
@@ -0,0 +1,51 @@
# 条件判断与循环
## 学习目标
- 掌握 if-elif-else 条件判断
- 学会使用 for 循环
- 掌握 while 循环
## 条件判断
```python
age = 18
if age < 18:
print("未成年人")
elif age < 60:
print("成年人")
else:
print("老年人")
```
## for 循环
```python
# 遍历列表
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# 使用 range
for i in range(5):
print(i) # 输出 0, 1, 2, 3, 4
```
## while 循环
```python
count = 0
while count < 5:
print(count)
count += 1
```
## 循环控制
- `break` - 跳出循环
- `continue` - 跳过当前迭代
## 动手练习
1. 编写程序判断奇偶数
2. 使用循环打印乘法表
3. 计算 1 到 100 的和
+45
View File
@@ -0,0 +1,45 @@
# 函数与模块
## 学习目标
- 理解函数的作用
- 掌握函数的定义和调用
- 了解模块的使用
## 定义函数
```python
def greet(name):
'''打招呼函数'''
return f"你好,{name}!"
# 调用函数
message = greet("小明")
print(message) # 输出:你好,小明!
```
## 参数类型
```python
# 默认参数
def power(base, exponent=2):
return base ** exponent
print(power(3)) # 9
print(power(2, 3)) # 8
```
## 导入模块
```python
import math
print(math.sqrt(16)) # 4.0
from random import randint
print(randint(1, 100))
```
## 动手练习
1. 编写计算圆面积的函数
2. 创建判断素数的函数
3. 使用 math 模块进行数学计算
+41
View File
@@ -0,0 +1,41 @@
# 列表与字典
## 学习目标
- 掌握列表的操作方法
- 理解字典的键值对结构
- 学会遍历和推导式
## 列表 (List)
```python
numbers = [1, 2, 3, 4, 5]
numbers.append(6) # 添加元素
numbers.pop() # 移除最后一个
numbers[0] # 索引访问
numbers[1:3] # 切片
```
## 字典 (Dict)
```python
student = {
"name": "小明",
"age": 20,
"grade": "A"
}
print(student["name"]) # 访问值
student["age"] = 21 # 修改值
```
## 列表推导式
```python
squares = [x**2 for x in range(10)]
evens = [x for x in range(10) if x % 2 == 0]
```
## 动手练习
1. 创建学生成绩列表并排序
2. 使用字典存储书籍信息
3. 使用推导式生成斐波那契数列
+43
View File
@@ -0,0 +1,43 @@
# 面向对象编程
## 学习目标
- 理解类和对象的概念
- 掌握类的定义和使用
- 了解继承和多态
## 定义类
```python
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
return f"{self.name} 汪汪叫!"
# 创建对象
my_dog = Dog("旺财", 3)
print(my_dog.bark())
```
## 继承
```python
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
pass
class Cat(Animal):
def speak(self):
return f"{self.name} 喵喵叫!"
```
## 动手练习
1. 创建一个 BankAccount 类
2. 实现存款和取款方法
3. 使用继承创建不同类型的账户
+46
View File
@@ -0,0 +1,46 @@
# 文件操作与异常处理
## 学习目标
- 掌握文件的读写操作
- 理解异常处理机制
- 学会使用 with 语句
## 文件读写
```python
# 写入文件
with open("test.txt", "w", encoding="utf-8") as f:
f.write("Hello World
")
# 读取文件
with open("test.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
```
## 异常处理
```python
try:
result = 10 / 0
except ZeroDivisionError:
print("不能除以零!")
finally:
print("执行完毕")
```
## 常见异常类型
| 异常类型 | 说明 |
|----------|------|
| `ValueError` | 值错误 |
| `TypeError` | 类型错误 |
| `FileNotFoundError` | 文件不存在 |
| `ZeroDivisionError` | 除零错误 |
## 动手练习
1. 读取 CSV 文件并统计数据
2. 使用异常处理保证程序健壮性
3. 实现日志记录功能
+39
View File
@@ -0,0 +1,39 @@
# 常用标准库
## 学习目标
- 熟悉 Python 标准库
- 掌握 os、datetime、json 等模块
- 学会使用第三方库
## os 模块
```python
import os
print(os.getcwd()) # 当前目录
os.listdir(".") # 列出文件
os.path.exists("test.txt") # 判断文件是否存在
```
## datetime 模块
```python
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
```
## json 模块
```python
import json
data = {"name": "Tom", "age": 25}
json_str = json.dumps(data, ensure_ascii=False)
parsed = json.loads(json_str)
```
## 动手练习
1. 批量重命名文件
2. 计算日期差值
3. 解析 JSON 配置文件
+43
View File
@@ -0,0 +1,43 @@
# 项目实战:爬虫入门
## 学习目标
- 了解爬虫的基本原理
- 掌握 requests 库的使用
- 学会使用 BeautifulSoup 解析 HTML
## 什么是爬虫?
爬虫是自动获取网页数据的程序,常用于数据采集、监控等场景。
## requests 库
```python
import requests
url = "https://api.github.com"
response = requests.get(url)
print(response.status_code)
print(response.json())
```
## BeautifulSoup 解析
```python
from bs4 import BeautifulSoup
html = "<h1>Hello</h1><p>World</p>"
soup = BeautifulSoup(html, "html.parser")
print(soup.h1.text) # Hello
```
## 注意事项
1. 遵守网站的 robots.txt
2. 控制请求频率
3. 不要爬取敏感数据
## 动手练习
1. 爬取天气数据显示在控制台
2. 获取豆瓣电影 Top 250
3. 制作每日新闻聚合器