This commit is contained in:
e2hang
2025-09-08 21:11:28 +08:00
parent c5100800b0
commit 050e3c5aae
10 changed files with 564 additions and 0 deletions

3
Class/ClassTest/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,3 @@
# 默认忽略的文件
/shelf/
/workspace.xml

8
Class/ClassTest/.idea/ClassTest.iml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.13" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

7
Class/ClassTest/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.13" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.13" project-jdk-type="Python SDK" />
</project>

8
Class/ClassTest/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/ClassTest.iml" filepath="$PROJECT_DIR$/.idea/ClassTest.iml" />
</modules>
</component>
</project>

6
Class/ClassTest/.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

5
Class/ClassTest/main.py Normal file
View File

@@ -0,0 +1,5 @@
import os
class Test:
def __init__(self):

244
Class/readme.md Normal file
View File

@@ -0,0 +1,244 @@
好的,我来帮你系统梳理 **Python 类class** 的全部核心知识点,包括语法、属性、方法、继承、特殊方法等,适合作为 **Python 类的完整参考手册**。我会尽量详尽、条理清晰。
---
# Python 类class完整知识总结
---
## 1⃣ 基础语法
```python
class ClassName(BaseClass):
"""类的文档字符串"""
class_attribute = 0 # 类属性
def __init__(self, arg1, arg2):
self.arg1 = arg1 # 实例属性
self.arg2 = arg2
def method(self):
print(self.arg1, self.arg2)
```
* `class ClassName:` → 定义类
* `BaseClass` → 可选,继承自父类
* `__init__` → 构造函数(实例化时自动调用)
* `self` → 指向实例本身,必须作为实例方法的第一个参数
* **类属性** → 所有实例共享
* **实例属性** → 每个实例独立
---
## 2⃣ 实例化和使用
```python
obj = ClassName(10, 20)
obj.method() # 调用实例方法
print(obj.arg1) # 访问实例属性
print(ClassName.class_attribute) # 访问类属性
```
---
## 3⃣ 类属性 vs 实例属性
```python
class Example:
class_var = 100 # 类属性
def __init__(self, x):
self.instance_var = x # 实例属性
e1 = Example(1)
e2 = Example(2)
print(e1.class_var, e2.class_var) # 100 100
print(e1.instance_var, e2.instance_var) # 1 2
```
* 修改类属性:`Example.class_var = 200`
* 修改实例属性:`e1.instance_var = 10`
---
## 4⃣ 方法类型
| 方法类型 | 装饰器 | 特点 |
| ---- | --------------- | ----------------------- |
| 实例方法 | 无或 `@property` | 第一个参数是 `self`,只能通过实例调用 |
| 类方法 | `@classmethod` | 第一个参数是 `cls`,可以通过类或实例调用 |
| 静态方法 | `@staticmethod` | 无默认参数,可通过类或实例调用 |
```python
class Demo:
class_var = 0
def instance_method(self):
print("实例方法", self.class_var)
@classmethod
def class_method(cls):
print("类方法", cls.class_var)
@staticmethod
def static_method():
print("静态方法")
```
---
## 5⃣ 继承与多态
```python
class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
print("Hello from Child")
c = Child()
c.greet() # 输出 Child 的 greet → 多态
```
* Python 支持 **单继承****多继承**
* `super()` 调用父类方法:
```python
class Child(Parent):
def greet(self):
super().greet() # 调用父类方法
print("Hello from Child")
```
---
## 6⃣ 特殊方法(魔法方法)
| 方法 | 功能 |
| ----------------------------------- | ------------------- |
| `__init__(self, ...)` | 构造函数 |
| `__str__(self)` | `print(obj)` 输出 |
| `__repr__(self)` | 交互式显示或 `repr(obj)` |
| `__len__(self)` | `len(obj)` |
| `__getitem__(self, key)` | 支持索引访问 `obj[key]` |
| `__setitem__(self, key, value)` | 支持索引赋值 |
| `__delitem__(self, key)` | 支持删除 `del obj[key]` |
| `__iter__(self)` / `__next__(self)` | 可迭代对象 |
| `__eq__`, `__lt__`, `__gt__`, ... | 支持比较运算符 |
| `__add__`, `__sub__`, ... | 支持运算符重载 |
示例:
```python
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y)
def __str__(self):
return f"Vector({self.x}, {self.y})"
v1 = Vector(1,2)
v2 = Vector(3,4)
print(v1 + v2) # Vector(4,6)
```
---
## 7⃣ 属性访问控制
Python 没有严格私有化,但通过命名约定控制访问:
* 公有属性:`self.x` → 可在类外访问
* 受保护属性:`self._x` → 建议类外少用
* 私有属性:`self.__x` → 名字改写,类外不易访问
```python
class Test:
def __init__(self):
self.public = 1
self._protected = 2
self.__private = 3
t = Test()
print(t.public) # 1
print(t._protected) # 2
print(t._Test__private) # 3 → 私有属性访问技巧
```
---
## 8⃣ 属性装饰器getter/setter
```python
class Person:
def __init__(self, name):
self._name = name
@property
def name(self): # getter
return self._name
@name.setter
def name(self, value): # setter
self._name = value
p = Person("Alice")
print(p.name)
p.name = "Bob"
```
---
## 9⃣ 类方法总结
* `self` → 实例方法,访问实例属性
* `cls` → 类方法,访问类属性
* 静态方法 → 无默认参数,可独立使用
* `@property` → 用方法访问属性,控制读写
---
## 10⃣ 进阶概念
* **多继承 & MRO方法解析顺序**
* Python 按 **C3线性化算法** 决定方法调用顺序
* **组合 vs 继承**
* 类可以包含其他类实例,实现复合功能
* **抽象类 & 接口**
```python
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
```
---
## 11⃣ Python 类的总结
1. **定义与实例化** → class + **init** + self
2. **属性** → 类属性 vs 实例属性
3. **方法** → 实例方法 / 类方法 / 静态方法
4. **继承与多态** → super() 调用父类方法
5. **特殊方法** → 魔法方法,实现运算符、索引、迭代等
6. **访问控制** → 公有 / 受保护 / 私有
7. **装饰器**@property 控制访问
---
我可以帮你画一张 **Python 类知识全景图**,把 **类结构、属性、方法、继承、魔法方法、访问控制、装饰器** 全部整理成一张图,非常直观易记。
你希望我画吗?

View File

@@ -0,0 +1,166 @@
好的,我来帮你整理一份 **Python 标准库Standard Library详细概览**,按照用途分类,包含核心模块、功能和简单示例,方便快速了解。
Python 标准库是 **Python 自带的模块集合**,无需额外安装即可使用。
---
# 1⃣ 操作系统与文件
| 模块 | 功能 | 示例 |
| ---------- | ---------------- | ------------------------------------------- |
| `os` | 系统操作、文件路径、环境变量 | `import os; os.listdir('.')` |
| `sys` | Python 解释器相关信息 | `import sys; sys.argv` |
| `shutil` | 高级文件操作(复制、移动、删除) | `import shutil; shutil.copy('a','b')` |
| `pathlib` | 面向对象的路径操作 | `from pathlib import Path; p = Path('.')` |
| `tempfile` | 临时文件和目录 | `import tempfile; tempfile.TemporaryFile()` |
| `glob` | 文件通配符匹配 | `import glob; glob.glob('*.py')` |
---
# 2⃣ 数据类型与容器
| 模块 | 功能 | 示例 |
| ------------- | --------------------------------------------------------- | --------------------------------------------------- |
| `collections` | 高级容器类型,如 `Counter`, `deque`, `OrderedDict`, `defaultdict` | `from collections import Counter; Counter([1,2,2])` |
| `array` | 高效数值数组 | `from array import array; a = array('i',[1,2,3])` |
| `heapq` | 堆操作 | `import heapq; heapq.heappush(heap, x)` |
| `bisect` | 有序列表插入和查找 | `import bisect; bisect.insort(lst, 5)` |
| `queue` | 线程安全队列 | `from queue import Queue; q = Queue()` |
---
# 3⃣ 数学与科学计算
| 模块 | 功能 | 示例 |
| ------------ | ------- | --------------------------------------------------------------- |
| `math` | 数学函数 | `import math; math.sqrt(16)` |
| `cmath` | 复数数学函数 | `import cmath; cmath.sqrt(-1)` |
| `decimal` | 高精度浮点运算 | `from decimal import Decimal; Decimal('1.1') + Decimal('2.2')` |
| `fractions` | 分数运算 | `from fractions import Fraction; Fraction(1,3) + Fraction(2,3)` |
| `random` | 随机数生成 | `import random; random.randint(1,10)` |
| `statistics` | 基本统计函数 | `import statistics; statistics.mean([1,2,3])` |
---
# 4⃣ 文本处理
| 模块 | 功能 | 示例 |
| ------------- | ------------ | ------------------------------------------------------- |
| `re` | 正则表达式 | `import re; re.findall(r'\d+', 'abc123')` |
| `string` | 字符串常量与模板 | `import string; string.ascii_letters` |
| `textwrap` | 文本换行与缩进 | `import textwrap; textwrap.fill("long text", width=20)` |
| `unicodedata` | Unicode 字符属性 | `import unicodedata; unicodedata.name('中')` |
| `codecs` | 编码解码 | `import codecs; codecs.encode("abc","utf-8")` |
---
# 5⃣ 数据持久化与格式
| 模块 | 功能 | 示例 |
| ----------------------- | ------------- | ------------------------------------------------------- |
| `json` | JSON 序列化与反序列化 | `import json; json.loads('{"a":1}')` |
| `pickle` | Python 对象序列化 | `import pickle; pickle.dump(obj,f)` |
| `shelve` | 类似字典的文件存储 | `import shelve; db = shelve.open('data')` |
| `csv` | CSV 文件读写 | `import csv; reader = csv.reader(f)` |
| `configparser` | 配置文件解析 | `import configparser; config.read('config.ini')` |
| `xml.etree.ElementTree` | XML 解析 | `import xml.etree.ElementTree as ET; ET.parse('a.xml')` |
---
# 6⃣ 日期与时间
| 模块 | 功能 | 示例 |
| ---------- | ------- | ----------------------------------------------- |
| `datetime` | 日期和时间处理 | `from datetime import datetime; datetime.now()` |
| `time` | 时间戳、延时 | `import time; time.sleep(1)` |
| `calendar` | 日历相关 | `import calendar; calendar.month(2025,9)` |
---
# 7⃣ 网络与互联网
| 模块 | 功能 | 示例 |
| ------------- | --------- | ---------------------------------------------------------------------- |
| `socket` | 网络通信 | `import socket; s = socket.socket()` |
| `http.client` | HTTP 客户端 | `import http.client; conn = http.client.HTTPConnection('example.com')` |
| `urllib` | URL 处理、请求 | `from urllib import request; request.urlopen('http://example.com')` |
| `ftplib` | FTP 协议 | `from ftplib import FTP; ftp = FTP('host')` |
| `smtplib` | 发送邮件 | `import smtplib; server = smtplib.SMTP('smtp.example.com')` |
| `email` | 邮件解析和构建 | `from email.mime.text import MIMEText` |
---
# 8⃣ 并发与多线程
| 模块 | 功能 | 示例 |
| -------------------- | ------ | --------------------------------------------------------------- |
| `threading` | 多线程 | `import threading; t = threading.Thread(target=func)` |
| `multiprocessing` | 多进程 | `from multiprocessing import Process; p = Process(target=func)` |
| `asyncio` | 异步编程 | `import asyncio; asyncio.run(main())` |
| `concurrent.futures` | 线程/进程池 | `from concurrent.futures import ThreadPoolExecutor` |
| `queue` | 线程安全队列 | `from queue import Queue` |
---
# 9⃣ 调试与开发工具
| 模块 | 功能 | 示例 |
| ----------- | ------ | ------------------------------------------ |
| `logging` | 日志记录 | `import logging; logging.info("msg")` |
| `pdb` | 调试 | `import pdb; pdb.set_trace()` |
| `traceback` | 异常堆栈信息 | `import traceback; traceback.format_exc()` |
| `warnings` | 警告控制 | `import warnings; warnings.warn("msg")` |
| `inspect` | 查看对象信息 | `import inspect; inspect.getmembers(obj)` |
---
# 10⃣ 压缩与归档
| 模块 | 功能 | 示例 |
| --------- | -------- | ------------------------------------------ |
| `zipfile` | ZIP 文件读写 | `import zipfile; zipfile.ZipFile('a.zip')` |
| `tarfile` | TAR 文件读写 | `import tarfile; tarfile.open('a.tar.gz')` |
| `gzip` | Gzip 压缩 | `import gzip; gzip.open('a.gz','rb')` |
| `bz2` | bzip2 压缩 | `import bz2` |
| `lzma` | lzma 压缩 | `import lzma` |
---
# 11⃣ 其他常用
| 模块 | 功能 | 示例 |
| ----------- | -------- | ----------------------------------------------------- |
| `uuid` | UUID 生成 | `import uuid; uuid.uuid4()` |
| `hashlib` | 哈希算法 | `import hashlib; hashlib.md5(b'abc').hexdigest()` |
| `hmac` | HMAC 校验 | `import hmac` |
| `enum` | 枚举类型 | `from enum import Enum` |
| `functools` | 函数工具,如缓存 | `from functools import lru_cache` |
| `itertools` | 高级迭代工具 | `import itertools; itertools.combinations([1,2,3],2)` |
---
## 🔹 总结
Python 标准库非常丰富,可以大体分类为:
1. **系统与文件** → os, sys, pathlib, shutil, tempfile
2. **数据结构与容器** → collections, array, heapq, queue
3. **数学与统计** → math, cmath, decimal, fractions, random, statistics
4. **文本处理** → re, string, textwrap, codecs, unicodedata
5. **数据存储与格式** → json, pickle, shelve, csv, configparser, xml
6. **日期与时间** → datetime, time, calendar
7. **网络与互联网** → socket, urllib, http.client, ftplib, smtplib, email
8. **并发与异步** → threading, multiprocessing, asyncio, concurrent.futures
9. **调试与开发** → logging, pdb, traceback, inspect
10. **压缩与归档** → zipfile, tarfile, gzip, bz2, lzma
11. **其他工具** → uuid, hashlib, hmac, enum, functools, itertools
---
💡 提示Python 官方文档有 **完整标准库参考**,可直接查阅每个模块的 API。
---
我可以帮你画一张 **Python 标准库分类全景图**,把模块按功能归类,直观展示,非常适合学习和查阅。
你希望我画吗?

111
Packages/readme.md Normal file
View File

@@ -0,0 +1,111 @@
好的,我给你整理一份 **Python 常用第三方包和标准库简介**,按用途分类,包含功能和简单示例,方便你快速了解和查阅。
---
# 1⃣ 科学计算与数据分析
| 包名 | 功能 | 示例 |
| -------------- | -------------------- | ----------------------------------------------------- |
| **NumPy** | 高性能数组运算、矩阵运算 | `import numpy as np; a = np.array([1,2,3])` |
| **Pandas** | 数据处理与分析DataFrame 操作 | `import pandas as pd; df = pd.DataFrame({'a':[1,2]})` |
| **SciPy** | 科学计算函数库,线性代数、优化、信号处理 | `from scipy import optimize; optimize.minimize(...)` |
| **Matplotlib** | 数据可视化,绘图 | `import matplotlib.pyplot as plt; plt.plot([1,2,3])` |
| **Seaborn** | 高级可视化,基于 Matplotlib | `import seaborn as sns; sns.heatmap(data)` |
---
# 2⃣ 机器学习与深度学习
| 包名 | 功能 | 示例 |
| ---------------------- | ------------------ | ----------------------------------------------------- |
| **scikit-learn** | 经典机器学习算法 | `from sklearn.ensemble import RandomForestClassifier` |
| **TensorFlow** | 深度学习框架 | `import tensorflow as tf; tf.constant([1,2])` |
| **PyTorch** | 深度学习框架,动态图 | `import torch; x = torch.tensor([1,2])` |
| **Keras** | 高级神经网络接口(常与 TF 搭配) | `from keras.models import Sequential` |
| **XGBoost / LightGBM** | 提升树算法,常用于 Kaggle | `import xgboost as xgb` |
---
# 3⃣ 数据获取与处理
| 包名 | 功能 | 示例 |
| ----------------- | ---------------- | ------------------------------------------------------------------------- |
| **requests** | HTTP 请求 | `import requests; r = requests.get(url)` |
| **BeautifulSoup** | HTML / XML 解析 | `from bs4 import BeautifulSoup; soup = BeautifulSoup(html,'html.parser')` |
| **lxml** | 高效 HTML / XML 解析 | `from lxml import etree` |
| **json** | JSON 数据处理(标准库) | `import json; data = json.loads(json_str)` |
| **csv** | CSV 文件操作(标准库) | `import csv; reader = csv.reader(f)` |
---
# 4⃣ 系统与文件操作
| 包名 | 功能 | 示例 |
| -------------- | ------------------ | ------------------------------------------- |
| **os** | 系统操作、文件路径(标准库) | `import os; os.listdir('.')` |
| **sys** | Python 解释器相关操作 | `import sys; sys.argv` |
| **shutil** | 高级文件操作,如复制、移动 | `import shutil; shutil.copy('a','b')` |
| **pathlib** | 面向对象的路径操作Python3 | `from pathlib import Path; p = Path('.')` |
| **subprocess** | 执行外部命令 | `import subprocess; subprocess.run(['ls'])` |
---
# 5⃣ Web 开发
| 包名 | 功能 | 示例 |
| ------------ | ---------- | ------------------------------------------------ |
| **Flask** | 轻量 Web 框架 | `from flask import Flask; app = Flask(__name__)` |
| **Django** | 全功能 Web 框架 | `django-admin startproject mysite` |
| **FastAPI** | 高性能 API 框架 | `from fastapi import FastAPI; app = FastAPI()` |
| **requests** | HTTP 客户端 | 同上 |
---
# 6⃣ 图像与多媒体处理
| 包名 | 功能 | 示例 |
| --------------------- | ------ | -------------------------------------------------- |
| **Pillow** | 图像处理 | `from PIL import Image; img = Image.open('a.jpg')` |
| **OpenCV (cv2)** | 计算机视觉 | `import cv2; img = cv2.imread('a.jpg')` |
| **matplotlib.pyplot** | 简单图像显示 | `plt.imshow(img)` |
---
# 7⃣ 常用工具库
| 包名 | 功能 | 示例 |
| ------------- | -------- | ----------------------------------------------------- |
| **re** | 正则表达式 | `import re; re.findall(r'\d+', 'abc123')` |
| **datetime** | 日期与时间处理 | `import datetime; datetime.datetime.now()` |
| **random** | 随机数 | `import random; random.randint(1,10)` |
| **itertools** | 高级迭代工具 | `import itertools; itertools.combinations([1,2,3],2)` |
| **functools** | 函数工具,如缓存 | `from functools import lru_cache` |
---
# 8⃣ 数据序列化与持久化
| 包名 | 功能 | 示例 |
| ---------- | ------------ | ----------------------------------------- |
| **pickle** | Python 对象序列化 | `import pickle; pickle.dump(obj,f)` |
| **shelve** | 类似字典的简单数据库 | `import shelve; db = shelve.open('data')` |
| **json** | JSON 序列化 | 同上 |
---
# 🔹 总结
1. **科学计算** → NumPy, Pandas, SciPy, Matplotlib, Seaborn
2. **机器学习/深度学习** → scikit-learn, TensorFlow, PyTorch, Keras, XGBoost
3. **数据获取** → requests, BeautifulSoup, lxml, json, csv
4. **系统/文件操作** → os, sys, shutil, pathlib, subprocess
5. **Web 开发** → Flask, Django, FastAPI
6. **图像处理** → Pillow, OpenCV
7. **工具函数** → re, datetime, random, itertools, functools
8. **数据持久化** → pickle, shelve, json
---
我可以帮你画一张 **Python 常用包分类全景图**,把这些包按用途分层,直观展示,方便快速记忆。
你希望我画吗?