Python 从入门到项目实战:语法、后端、自动化、数据分析与 AI 全面指南
Python 从入门到项目实战完整 Markdown 文档
适合人群:零基础学习者、前端开发转后端、想用 Python 做自动化、爬虫、数据分析、AI 应用、接口开发的开发者。
推荐学习主线:Python 基础语法 → 面向对象 → 文件/异常/模块 → 虚拟环境与包管理 → 数据库 → Web API → 自动化/爬虫/数据分析 → 项目实战 → 部署上线 → 面试复习。
目录
- 一、Python 是什么
- 二、Python 能做什么
- 三、Python 安装与开发环境
- 四、Python 基础语法
- 五、Python 常用数据结构
- 六、函数详解
- 七、模块、包与工程结构
- 八、面向对象编程
- 九、异常处理
- 十、文件操作
- 十一、Python 进阶语法
- 十二、虚拟环境与包管理
- 十三、Python 后端开发
- 十四、数据库操作
- 十五、自动化办公
- 十六、网络请求与爬虫
- 十七、数据分析与可视化
- 十八、AI 与机器学习方向
- 十九、测试开发
- 二十、项目部署上线
- 二十一、项目实战一:命令行学生管理系统
- 二十二、项目实战二:FastAPI 用户登录注册接口
- 二十三、项目实战三:Python 自动化处理 Excel
- 二十四、项目实战四:简单爬虫采集网页标题
- 二十五、前端开发者学习 Python 的路线
- 二十六、Python 常见面试题与答案
- 二十七、官方文档与资源跳转链接
- 二十八、学习计划
一、Python 是什么
Python 是一门高级、解释型、通用型、动态类型编程语言。它的语法简洁,开发效率高,生态丰富,既适合初学者入门,也适合企业级项目开发。
Python 的核心优势:
- 语法简单:代码接近自然语言,阅读成本低。
- 生态丰富:Web、爬虫、数据分析、AI、自动化、测试都有成熟库。
- 开发效率高:适合快速开发脚本、接口服务、后台系统和工具。
- 跨平台:Windows、macOS、Linux 都可以运行。
- 社区活跃:文档、教程、开源项目非常多。
Python 的不足:
- 执行速度通常不如 C/C++/Go/Java。
- 多线程受 GIL 影响,CPU 密集型任务需要多进程、异步或调用底层高性能库。
- 动态类型在大型项目中容易出现运行时错误,因此企业项目建议配合类型提示、测试、代码规范工具使用。
二、Python 能做什么
1. 后端开发
Python 可以开发接口服务、管理后台、内容系统、数据平台、微服务。
常见技术栈:
| 技术 | 用途 |
|---|---|
| Django | 大而全的 Web 框架,适合后台系统、CMS、电商、权限系统 |
| Flask | 轻量级 Web 框架,适合小型服务、原型项目 |
| FastAPI | 现代 API 框架,适合前后端分离、接口服务、微服务 |
| SQLAlchemy | Python ORM,常用于数据库模型操作 |
| Redis | 缓存、验证码、登录 token、队列 |
| Celery | 异步任务、定时任务 |
| Nginx | 反向代理、静态资源服务 |
| Docker | 项目容器化部署 |
2. 自动化办公
可自动处理 Excel、Word、PDF、邮件、文件夹、批量重命名、数据报表。
常见库:
| 库 | 用途 |
|---|---|
| openpyxl | 读写 Excel xlsx 文件 |
| pandas | 表格数据分析、清洗、导入导出 |
| python-docx | 操作 Word 文档 |
| PyPDF2 / pypdf | 处理 PDF |
| smtplib | 发送邮件 |
| schedule / APScheduler | 定时任务 |
3. 爬虫与数据采集
常见任务:
- 采集网页文章
- 采集商品价格
- 采集图片
- 调用接口获取 JSON 数据
- 自动登录网页
- 批量下载资源
常见库:
| 库 | 用途 |
|---|---|
| requests | 发送 HTTP 请求 |
| BeautifulSoup | 解析 HTML |
| lxml | 高性能 HTML/XML 解析 |
| Scrapy | 爬虫框架 |
| Selenium | 浏览器自动化 |
| Playwright | 现代浏览器自动化,适合复杂页面 |
4. 数据分析与可视化
常见任务:
- 清洗 Excel / CSV 数据
- 统计销售额、用户量、转化率
- 生成图表
- 分析业务趋势
- 制作数据报表
常见库:
| 库 | 用途 |
|---|---|
| NumPy | 数值计算 |
| pandas | 数据清洗和分析 |
| Matplotlib | 基础绘图 |
| Seaborn | 统计可视化 |
| Jupyter Notebook | 交互式数据分析 |
5. AI 与机器学习
常见方向:
- 机器学习
- 深度学习
- 图像识别
- 自然语言处理
- 推荐系统
- 大模型应用开发
常见库:
| 库 | 用途 |
|---|---|
| scikit-learn | 传统机器学习 |
| PyTorch | 深度学习框架 |
| TensorFlow | 深度学习框架 |
| transformers | 大模型、NLP 应用 |
| OpenCV | 图像处理 |
6. 运维与测试开发
常见任务:
- 接口自动化测试
- Web UI 自动化测试
- 服务器脚本
- 日志分析
- 批量部署
- 性能测试
常见库:
| 库 | 用途 |
|---|---|
| pytest | 单元测试、接口测试 |
| unittest | Python 标准库测试框架 |
| requests | 接口测试 |
| Selenium / Playwright | UI 自动化测试 |
| paramiko | SSH 操作服务器 |
| locust | 性能压测 |
三、Python 安装与开发环境
1. 安装 Python
官方地址:
- Python 官网:https://www.python.org/
- Python 下载:https://www.python.org/downloads/
- Python 官方文档:https://docs.python.org/3/
- Python 中文文档:https://docs.python.org/zh-cn/3/
安装完成后,在终端检查版本:
python --version
或:
python3 --version
2. Windows 注意事项
安装 Python 时建议勾选:
Add python.exe to PATH
否则可能出现:
python 不是内部或外部命令
解决方式:
- 重新安装 Python,并勾选 Add python.exe to PATH。
- 手动配置环境变量。
- 使用 Python Launcher:
py --version
py main.py
3. 推荐开发工具
| 工具 | 说明 |
|---|---|
| VS Code | 轻量、插件丰富,推荐前端开发者继续使用 |
| PyCharm | Python 专业 IDE,适合大型项目 |
| Jupyter Notebook | 数据分析、AI 学习常用 |
| Cursor | AI 编程辅助工具 |
VS Code 推荐插件:
| 插件 | 用途 |
|---|---|
| Python | Python 语言支持 |
| Pylance | 类型提示、代码补全 |
| Black Formatter | 代码格式化 |
| Ruff | 代码检查 |
| Jupyter | Notebook 支持 |
4. 第一个 Python 程序
创建 main.py:
print("Hello Python")
运行:
python main.py
四、Python 基础语法
1. 注释
# 这是单行注释
"""
这是多行注释
通常用于说明模块、类、函数
"""
2. 变量
Python 变量不需要声明类型:
name = "张三"
age = 18
height = 175.5
is_student = True
命名规范:
user_name = "小明" # 推荐,蛇形命名
userAge = 18 # 不推荐,Python 通常不用小驼峰
MAX_COUNT = 100 # 常量通常大写
3. 基础数据类型
| 类型 | 示例 | 说明 |
|---|---|---|
| int | 10 |
整数 |
| float | 3.14 |
小数 |
| str | "hello" |
字符串 |
| bool | True / False |
布尔值 |
| NoneType | None |
空值 |
示例:
name = "Python"
age = 30
price = 99.9
is_ok = True
empty = None
print(type(name))
print(type(age))
print(type(price))
print(type(is_ok))
print(type(empty))
4. 输入与输出
name = input("请输入你的名字:")
print("你好," + name)
input() 获取到的数据永远是字符串,需要手动转换:
age = int(input("请输入年龄:"))
print(age + 1)
5. 运算符
| 运算符 | 说明 | 示例 |
|---|---|---|
+ |
加法 | 1 + 2 |
- |
减法 | 3 - 1 |
* |
乘法 | 2 * 3 |
/ |
除法,结果是小数 | 5 / 2 |
// |
整除 | 5 // 2 |
% |
取余 | 5 % 2 |
** |
幂运算 | 2 ** 3 |
print(5 / 2) # 2.5
print(5 // 2) # 2
print(5 % 2) # 1
print(2 ** 3) # 8
6. 条件判断
score = 85
if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
else:
print("不及格")
7. 逻辑运算
| 运算符 | 说明 |
|---|---|
and |
并且 |
or |
或者 |
not |
取反 |
age = 20
has_ticket = True
if age >= 18 and has_ticket:
print("可以入场")
8. for 循环
for i in range(5):
print(i)
输出:
0
1
2
3
4
指定范围:
for i in range(1, 6):
print(i)
指定步长:
for i in range(0, 10, 2):
print(i)
9. while 循环
count = 0
while count < 5:
print(count)
count += 1
10. break 和 continue
for i in range(10):
if i == 5:
break
print(i)
for i in range(10):
if i % 2 == 0:
continue
print(i)
五、Python 常用数据结构
1. 字符串 str
字符串可以用单引号、双引号、三引号。
name = "Python"
text = 'hello'
long_text = """多行文本"""
常用操作:
name = "Python"
print(name[0]) # P
print(name[-1]) # n
print(name[0:3]) # Pyt
print(len(name)) # 6
常用方法:
text = " hello python "
print(text.strip())
print(text.upper())
print(text.lower())
print(text.replace("python", "java"))
print(text.split())
字符串格式化:
name = "小明"
age = 18
print(f"我叫{name},今年{age}岁")
2. 列表 list
列表类似 JavaScript 数组。
names = ["张三", "李四", "王五"]
print(names[0])
names.append("赵六")
names.remove("李四")
print(names)
常用方法:
| 方法 | 说明 |
|---|---|
append() |
末尾添加元素 |
insert() |
指定位置插入 |
remove() |
删除指定值 |
pop() |
删除并返回元素 |
sort() |
排序 |
reverse() |
反转 |
index() |
获取索引 |
count() |
统计出现次数 |
示例:
nums = [3, 1, 5, 2]
nums.sort()
print(nums)
3. 元组 tuple
元组不可变,适合存储固定数据。
point = (10, 20)
print(point[0])
单元素元组要加逗号:
t = (1,)
4. 字典 dict
字典类似 JavaScript 对象。
user = {
"name": "小明",
"age": 18,
"city": "广州"
}
print(user["name"])
print(user.get("age"))
user["age"] = 20
user["job"] = "前端开发"
print(user)
遍历字典:
for key, value in user.items():
print(key, value)
5. 集合 set
集合特点:无序、不重复。
nums = {1, 2, 3, 3, 4}
print(nums)
列表去重:
arr = [1, 2, 2, 3, 3, 4]
result = list(set(arr))
print(result)
集合运算:
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # 并集
print(a & b) # 交集
print(a - b) # 差集
六、函数详解
1. 定义函数
def say_hello():
print("Hello")
say_hello()
2. 参数
def greet(name):
print(f"你好,{name}")
greet("小明")
3. 返回值
def add(a, b):
return a + b
result = add(10, 20)
print(result)
4. 默认参数
def greet(name="游客"):
print(f"欢迎你,{name}")
greet()
greet("张三")
5. 关键字参数
def show_user(name, age):
print(name, age)
show_user(age=18, name="小明")
6. 可变参数 *args
def sum_all(*args):
return sum(args)
print(sum_all(1, 2, 3, 4))
7. 关键字可变参数 **kwargs
def show_info(**kwargs):
print(kwargs)
show_info(name="小明", age=18)
8. 类型提示
def add(a: int, b: int) -> int:
return a + b
name: str = "小明"
age: int = 18
类型提示不会强制运行时类型检查,但能提升编辑器提示和代码可维护性。
七、模块、包与工程结构
1. 导入标准库
import math
print(math.sqrt(16))
2. 导入指定函数
from math import sqrt
print(sqrt(25))
3. 自定义模块
目录结构:
project/
├── main.py
└── utils.py
utils.py:
def add(a, b):
return a + b
main.py:
from utils import add
print(add(1, 2))
4. 包
目录结构:
project/
├── main.py
└── app/
├── __init__.py
└── utils.py
__init__.py 用来标识一个目录是 Python 包。
5. 推荐项目结构
普通脚本项目:
python-demo/
├── main.py
├── README.md
├── requirements.txt
├── config.py
└── utils/
├── __init__.py
└── file_utils.py
后端 API 项目:
backend/
├── app/
│ ├── main.py
│ ├── config.py
│ ├── database.py
│ ├── models/
│ ├── schemas/
│ ├── routers/
│ ├── services/
│ └── utils/
├── tests/
├── requirements.txt
├── .env
└── README.md
八、面向对象编程
1. 类和对象
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def say_hi(self):
print(f"你好,我叫{self.name},今年{self.age}岁")
p = Person("小明", 18)
p.say_hi()
说明:
| 语法 | 说明 |
|---|---|
class |
定义类 |
__init__ |
构造方法 |
self |
当前对象 |
self.name |
实例属性 |
对象.方法() |
调用方法 |
2. 继承
class Animal:
def eat(self):
print("动物在吃东西")
class Dog(Animal):
def bark(self):
print("狗在叫")
dog = Dog()
dog.eat()
dog.bark()
3. 方法重写
class Animal:
def speak(self):
print("动物叫")
class Cat(Animal):
def speak(self):
print("喵喵叫")
cat = Cat()
cat.speak()
4. 类属性和实例属性
class User:
role = "普通用户" # 类属性
def __init__(self, name):
self.name = name # 实例属性
u1 = User("张三")
u2 = User("李四")
print(u1.name)
print(u2.name)
print(User.role)
5. 静态方法和类方法
class MathUtils:
@staticmethod
def add(a, b):
return a + b
@classmethod
def info(cls):
return "数学工具类"
print(MathUtils.add(1, 2))
print(MathUtils.info())
九、异常处理
异常处理用于防止程序因为错误直接崩溃。
try:
num = int(input("请输入数字:"))
print(10 / num)
except ValueError:
print("请输入合法数字")
except ZeroDivisionError:
print("不能除以 0")
finally:
print("程序结束")
常见异常:
| 异常 | 说明 |
|---|---|
| ValueError | 值错误 |
| TypeError | 类型错误 |
| IndexError | 索引越界 |
| KeyError | 字典 key 不存在 |
| FileNotFoundError | 文件不存在 |
| ZeroDivisionError | 除以 0 |
| ImportError | 导入模块失败 |
主动抛出异常:
def set_age(age):
if age < 0:
raise ValueError("年龄不能小于 0")
return age
自定义异常:
class BusinessError(Exception):
pass
raise BusinessError("业务异常")
十、文件操作
1. 读取文件
with open("test.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)
2. 按行读取
with open("test.txt", "r", encoding="utf-8") as f:
for line in f:
print(line.strip())
3. 写入文件
with open("test.txt", "w", encoding="utf-8") as f:
f.write("你好 Python")
4. 追加内容
with open("test.txt", "a", encoding="utf-8") as f:
f.write("\n追加一行")
5. JSON 文件处理
import json
user = {"name": "小明", "age": 18}
with open("user.json", "w", encoding="utf-8") as f:
json.dump(user, f, ensure_ascii=False, indent=2)
with open("user.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data)
6. 路径处理
from pathlib import Path
base_dir = Path(__file__).parent
file_path = base_dir / "data" / "test.txt"
print(file_path)
十一、Python 进阶语法
1. 列表推导式
普通写法:
nums = []
for i in range(10):
nums.append(i * 2)
推导式:
nums = [i * 2 for i in range(10)]
带条件:
evens = [i for i in range(10) if i % 2 == 0]
2. 字典推导式
result = {i: i * i for i in range(5)}
print(result)
3. Lambda 匿名函数
add = lambda a, b: a + b
print(add(1, 2))
排序示例:
users = [
{"name": "张三", "age": 20},
{"name": "李四", "age": 18},
{"name": "王五", "age": 25}
]
users.sort(key=lambda user: user["age"])
print(users)
4. map / filter / reduce
nums = [1, 2, 3]
result = list(map(lambda x: x * 2, nums))
print(result)
nums = [1, 2, 3, 4]
result = list(filter(lambda x: x % 2 == 0, nums))
print(result)
from functools import reduce
nums = [1, 2, 3, 4]
result = reduce(lambda a, b: a + b, nums)
print(result)
5. 迭代器
nums = [1, 2, 3]
it = iter(nums)
print(next(it))
print(next(it))
print(next(it))
6. 生成器
生成器使用 yield,适合处理大量数据,节省内存。
def gen_nums():
for i in range(5):
yield i
for num in gen_nums():
print(num)
7. 装饰器
装饰器用于在不修改原函数代码的情况下增强功能。
def log(func):
def wrapper(*args, **kwargs):
print("函数开始执行")
result = func(*args, **kwargs)
print("函数执行结束")
return result
return wrapper
@log
def add(a, b):
return a + b
print(add(1, 2))
8. 上下文管理器
with open() 就是上下文管理器的典型用法。
with open("test.txt", "r", encoding="utf-8") as f:
print(f.read())
自定义上下文管理器:
class MyContext:
def __enter__(self):
print("进入")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print("退出")
with MyContext():
print("执行中")
9. 异步编程 async / await
import asyncio
async def fetch_data():
print("开始请求")
await asyncio.sleep(1)
print("请求完成")
return "data"
async def main():
result = await fetch_data()
print(result)
asyncio.run(main())
异步适合 IO 密集型任务,比如网络请求、数据库请求、文件读写等。
十二、虚拟环境与包管理
1. pip
查看版本:
pip --version
安装包:
pip install requests
卸载包:
pip uninstall requests
查看已安装包:
pip list
导出依赖:
pip freeze > requirements.txt
安装依赖:
pip install -r requirements.txt
2. venv 虚拟环境
创建:
python -m venv venv
Windows 激活:
venv\Scripts\activate
macOS / Linux 激活:
source venv/bin/activate
退出:
deactivate
3. requirements.txt 示例
fastapi
uvicorn
sqlalchemy
pymysql
python-dotenv
pydantic
pytest
4. uv / Poetry
新项目也可以了解:
| 工具 | 说明 |
|---|---|
| uv | 新一代 Python 包和项目管理工具,速度快 |
| Poetry | 依赖管理和打包工具 |
| pipenv | 虚拟环境和依赖管理工具 |
| conda | 数据科学方向常用环境管理工具 |
十三、Python 后端开发
1. Flask 示例
安装:
pip install flask
代码:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return {"message": "Hello Flask"}
if __name__ == "__main__":
app.run(debug=True)
运行:
python app.py
访问:
http://127.0.0.1:5000
2. FastAPI 示例
安装:
pip install fastapi uvicorn
代码 main.py:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def home():
return {"message": "Hello FastAPI"}
@app.get("/users/{user_id}")
def get_user(user_id: int):
return {"user_id": user_id}
运行:
uvicorn main:app --reload
访问:
http://127.0.0.1:8000
自动接口文档:
http://127.0.0.1:8000/docs
http://127.0.0.1:8000/redoc
3. Django 示例
安装:
pip install django
创建项目:
django-admin startproject mysite
cd mysite
python manage.py runserver
创建应用:
python manage.py startapp users
迁移数据库:
python manage.py makemigrations
python manage.py migrate
创建管理员:
python manage.py createsuperuser
Django 适合:
- 企业后台管理系统
- CMS 内容系统
- 电商系统
- 权限系统
- CRM / ERP 类系统
4. Flask、FastAPI、Django 怎么选
| 场景 | 推荐 |
|---|---|
| 初学后端接口 | FastAPI |
| 小工具、小服务 | Flask |
| 企业后台、权限、管理系统 | Django |
| 前后端分离 API | FastAPI / Django REST framework |
| 快速做后台管理 | Django |
| 高性能接口服务 | FastAPI |
十四、数据库操作
1. SQLite
SQLite 是 Python 标准库自带的轻量数据库。
import sqlite3
conn = sqlite3.connect("test.db")
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")
cursor.execute("INSERT INTO users (name) VALUES (?)", ("小明",))
conn.commit()
cursor.execute("SELECT * FROM users")
print(cursor.fetchall())
cursor.close()
conn.close()
2. MySQL
安装:
pip install pymysql
示例:
import pymysql
conn = pymysql.connect(
host="localhost",
user="root",
password="123456",
database="test",
charset="utf8mb4"
)
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
result = cursor.fetchall()
print(result)
cursor.close()
conn.close()
3. ORM 基础概念
ORM:Object Relational Mapping,对象关系映射。
简单理解:
Python 类 <-> 数据库表
Python 对象 <-> 数据库一行数据
对象属性 <-> 表字段
常见 ORM:
| ORM | 常见框架 |
|---|---|
| Django ORM | Django 内置 |
| SQLAlchemy | FastAPI / Flask 常用 |
| SQLModel | FastAPI 生态,结合 SQLAlchemy 和 Pydantic |
4. SQLAlchemy 简单示例
安装:
pip install sqlalchemy
示例:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker
engine = create_engine("sqlite:///test.db")
Base = declarative_base()
SessionLocal = sessionmaker(bind=engine)
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True, index=True)
name = Column(String(50))
Base.metadata.create_all(bind=engine)
session = SessionLocal()
user = User(name="小明")
session.add(user)
session.commit()
users = session.query(User).all()
print(users)
session.close()
十五、自动化办公
1. Excel 读写 openpyxl
安装:
pip install openpyxl
写入 Excel:
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = "用户数据"
ws.append(["姓名", "年龄", "城市"])
ws.append(["张三", 18, "广州"])
ws.append(["李四", 20, "深圳"])
wb.save("users.xlsx")
读取 Excel:
from openpyxl import load_workbook
wb = load_workbook("users.xlsx")
ws = wb.active
for row in ws.iter_rows(values_only=True):
print(row)
2. 批量重命名文件
from pathlib import Path
folder = Path("images")
for index, file in enumerate(folder.iterdir(), start=1):
if file.is_file():
new_name = folder / f"image_{index}{file.suffix}"
file.rename(new_name)
3. 自动发送邮件
import smtplib
from email.mime.text import MIMEText
msg = MIMEText("这是一封测试邮件", "plain", "utf-8")
msg["Subject"] = "测试邮件"
msg["From"] = "your_email@example.com"
msg["To"] = "target@example.com"
server = smtplib.SMTP_SSL("smtp.example.com", 465)
server.login("your_email@example.com", "your_password")
server.send_message(msg)
server.quit()
实际开发中,邮箱密码通常要使用授权码,不建议把密码写死在代码里。
十六、网络请求与爬虫
1. requests 基础
安装:
pip install requests
发送 GET 请求:
import requests
url = "https://httpbin.org/get"
response = requests.get(url)
print(response.status_code)
print(response.text)
发送 POST 请求:
import requests
url = "https://httpbin.org/post"
data = {"username": "admin", "password": "123456"}
response = requests.post(url, json=data)
print(response.json())
2. BeautifulSoup 解析 HTML
安装:
pip install beautifulsoup4
示例:
from bs4 import BeautifulSoup
html = """
<html>
<body>
<h1>标题</h1>
<a href="https://example.com">链接</a>
</body>
</html>
"""
soup = BeautifulSoup(html, "html.parser")
print(soup.h1.text)
print(soup.a["href"])
3. 爬虫注意事项
- 遵守网站 robots.txt 和法律法规。
- 不要高频请求,避免影响网站服务。
- 不要采集隐私数据、敏感数据。
- 不要绕过登录、验证码、安全防护。
- 商业使用数据前要确认授权。
4. Scrapy 适合什么场景
Scrapy 适合中大型爬虫项目,内置:
- 请求调度
- 数据解析
- 数据管道
- 中间件
- 并发抓取
- 去重机制
十七、数据分析与可视化
1. pandas 读取 CSV
安装:
pip install pandas
示例:
import pandas as pd
df = pd.read_csv("sales.csv")
print(df.head())
print(df.info())
print(df.describe())
2. 数据筛选
import pandas as pd
df = pd.DataFrame({
"name": ["张三", "李四", "王五"],
"age": [18, 20, 25],
"city": ["广州", "深圳", "上海"]
})
result = df[df["age"] >= 20]
print(result)
3. 数据分组统计
import pandas as pd
df = pd.DataFrame({
"city": ["广州", "广州", "深圳", "深圳"],
"sales": [100, 200, 300, 400]
})
result = df.groupby("city")["sales"].sum()
print(result)
4. Matplotlib 绘图
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 15, 30]
plt.plot(x, y)
plt.title("Sales Trend")
plt.xlabel("Day")
plt.ylabel("Sales")
plt.show()
5. Jupyter Notebook
安装:
pip install notebook
启动:
jupyter notebook
十八、AI 与机器学习方向
1. 机器学习基础流程
收集数据
↓
清洗数据
↓
特征工程
↓
划分训练集和测试集
↓
选择模型
↓
训练模型
↓
评估模型
↓
模型部署
2. scikit-learn 示例
安装:
pip install scikit-learn
示例:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
model = RandomForestClassifier()
model.fit(X_train, y_train)
pred = model.predict(X_test)
print(accuracy_score(y_test, pred))
3. AI 方向需要补充的基础
| 能力 | 内容 |
|---|---|
| Python 基础 | 语法、函数、面向对象、文件处理 |
| 数学基础 | 线性代数、概率统计、微积分基础 |
| 数据处理 | NumPy、pandas |
| 可视化 | Matplotlib、Seaborn |
| 机器学习 | scikit-learn |
| 深度学习 | PyTorch / TensorFlow |
| 大模型应用 | transformers、LangChain、OpenAI API 等 |
十九、测试开发
1. unittest
import unittest
def add(a, b):
return a + b
class TestAdd(unittest.TestCase):
def test_add(self):
self.assertEqual(add(1, 2), 3)
if __name__ == "__main__":
unittest.main()
2. pytest
安装:
pip install pytest
创建 test_demo.py:
def add(a, b):
return a + b
def test_add():
assert add(1, 2) == 3
运行:
pytest
3. 接口测试
import requests
def test_get_user():
response = requests.get("http://127.0.0.1:8000/users/1")
assert response.status_code == 200
assert "user_id" in response.json()
二十、项目部署上线
1. 常见部署组合
| 项目类型 | 推荐部署方式 |
|---|---|
| Flask | Gunicorn + Nginx |
| FastAPI | Uvicorn/Gunicorn + Nginx |
| Django | Gunicorn + Nginx |
| 前后端分离 | 前端 Nginx 静态部署,后端 API 单独部署 |
| 容器化 | Docker + Docker Compose |
2. FastAPI 生产运行示例
安装:
pip install gunicorn uvicorn
运行:
gunicorn app.main:app -k uvicorn.workers.UvicornWorker -w 4 -b 0.0.0.0:8000
3. Nginx 反向代理示例
server {
listen 80;
server_name example.com;
location /api/ {
proxy_pass http://127.0.0.1:8000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
4. Dockerfile 示例
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
5. docker-compose 示例
services:
backend:
build: .
ports:
- "8000:8000"
env_file:
- .env
二十一、项目实战一:命令行学生管理系统
1. 功能需求
- 添加学生
- 查看学生列表
- 删除学生
- 修改学生
- 查询学生
- 保存到 JSON 文件
2. 代码示例
import json
from pathlib import Path
DATA_FILE = Path("students.json")
def load_students():
if DATA_FILE.exists():
with open(DATA_FILE, "r", encoding="utf-8") as f:
return json.load(f)
return []
def save_students(students):
with open(DATA_FILE, "w", encoding="utf-8") as f:
json.dump(students, f, ensure_ascii=False, indent=2)
def add_student(students):
name = input("请输入姓名:")
age = input("请输入年龄:")
city = input("请输入城市:")
students.append({
"id": len(students) + 1,
"name": name,
"age": age,
"city": city
})
save_students(students)
print("添加成功")
def list_students(students):
if not students:
print("暂无学生")
return
for student in students:
print(student)
def delete_student(students):
student_id = int(input("请输入要删除的学生 ID:"))
new_students = [s for s in students if s["id"] != student_id]
save_students(new_students)
print("删除成功")
return new_students
def main():
students = load_students()
while True:
print("""
学生管理系统
1. 添加学生
2. 查看学生
3. 删除学生
0. 退出
""")
choice = input("请选择:")
if choice == "1":
add_student(students)
elif choice == "2":
list_students(students)
elif choice == "3":
students = delete_student(students)
elif choice == "0":
break
else:
print("无效选择")
if __name__ == "__main__":
main()
3. 可扩展功能
- 增加修改学生功能
- 增加按姓名查询
- 增加分页展示
- 增加 SQLite 数据库存储
- 增加图形界面
二十二、项目实战二:FastAPI 用户登录注册接口
1. 项目结构
fastapi-user-demo/
├── app/
│ ├── main.py
│ ├── database.py
│ ├── models.py
│ ├── schemas.py
│ └── routers/
│ └── user.py
├── requirements.txt
└── README.md
2. 安装依赖
pip install fastapi uvicorn sqlalchemy pydantic
3. main.py
from fastapi import FastAPI
from app.routers import user
app = FastAPI(title="用户登录注册系统")
app.include_router(user.router, prefix="/api/users", tags=["用户"])
@app.get("/")
def home():
return {"message": "API running"}
4. schemas.py
from pydantic import BaseModel
class UserRegister(BaseModel):
username: str
password: str
class UserLogin(BaseModel):
username: str
password: str
5. routers/user.py
from fastapi import APIRouter, HTTPException
from app.schemas import UserRegister, UserLogin
router = APIRouter()
users = []
@router.post("/register")
def register(data: UserRegister):
for user in users:
if user["username"] == data.username:
raise HTTPException(status_code=400, detail="用户名已存在")
users.append({
"username": data.username,
"password": data.password
})
return {"message": "注册成功"}
@router.post("/login")
def login(data: UserLogin):
for user in users:
if user["username"] == data.username and user["password"] == data.password:
return {"message": "登录成功", "token": "mock-token"}
raise HTTPException(status_code=401, detail="用户名或密码错误")
6. 运行
uvicorn app.main:app --reload
7. 前端调用示例
async function login() {
const res = await fetch('http://127.0.0.1:8000/api/users/login', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
username: 'admin',
password: '123456'
})
})
const data = await res.json()
console.log(data)
}
8. 后续优化
- 密码使用 bcrypt 加密
- 使用 MySQL 存储用户
- 使用 JWT 生成真实 token
- 增加登录鉴权中间件
- 增加角色权限控制
- 增加接口测试
二十三、项目实战三:Python 自动化处理 Excel
1. 需求
读取销售数据,按城市统计销售额,并生成新 Excel。
2. 示例数据
sales.xlsx:
| 城市 | 销售额 |
|---|---|
| 广州 | 100 |
| 深圳 | 200 |
| 广州 | 300 |
| 上海 | 500 |
3. 代码
import pandas as pd
# 读取 Excel
df = pd.read_excel("sales.xlsx")
# 按城市统计销售额
result = df.groupby("城市", as_index=False)["销售额"].sum()
# 保存结果
result.to_excel("sales_result.xlsx", index=False)
print("统计完成")
4. 可扩展功能
- 自动生成图表
- 自动发送邮件
- 每天定时执行
- 生成 PDF 报告
- 多个 Excel 文件合并
二十四、项目实战四:简单爬虫采集网页标题
1. 安装依赖
pip install requests beautifulsoup4
2. 代码
import requests
from bs4 import BeautifulSoup
url = "https://www.python.org/"
headers = {
"User-Agent": "Mozilla/5.0"
}
response = requests.get(url, headers=headers, timeout=10)
response.raise_for_status()
soup = BeautifulSoup(response.text, "html.parser")
title = soup.title.text.strip()
print("网页标题:", title)
3. 爬虫扩展方向
- 批量采集多页数据
- 保存到 CSV / Excel / MySQL
- 增加异常重试
- 增加代理 IP
- 使用 Playwright 处理动态页面
- 使用 Scrapy 管理大型爬虫项目
二十五、前端开发者学习 Python 的路线
你有前端基础,学习 Python 建议不要只停留在语法,而是尽快和项目结合。
1. 最推荐路线
Python 基础语法
↓
函数、模块、面向对象
↓
文件操作、JSON、异常处理
↓
pip、venv、项目结构
↓
FastAPI
↓
MySQL / Redis
↓
JWT 登录认证
↓
Vue / React 调用 Python API
↓
Nginx + Docker 部署
↓
完整后台管理系统
2. 前端 + Python 可做的项目
| 项目 | 前端 | 后端 |
|---|---|---|
| 登录注册系统 | Vue / React | FastAPI / Django |
| 博客系统 | Vue / React | Django / FastAPI |
| 后台管理系统 | Vue3 + Element Plus | FastAPI + MySQL |
| 数据可视化平台 | Vue + ECharts | Python + pandas |
| 文件上传系统 | Vue / React | FastAPI |
| 爬虫数据平台 | Vue + 表格 | Python 爬虫 + MySQL |
3. 你可以优先掌握的技术组合
Python + FastAPI + MySQL + Redis + JWT + SQLAlchemy + Docker + Nginx
这个组合适合做前后端分离项目,也适合你从前端逐步扩展到后端。
二十六、Python 常见面试题与答案
1. Python 是解释型语言还是编译型语言?
Python 通常被称为解释型语言。源码运行前会先被编译成字节码,然后由 Python 虚拟机执行。
2. Python 的优点是什么?
语法简洁、开发效率高、生态丰富、跨平台、适合自动化、Web、数据分析、AI 等多个方向。
3. Python 的缺点是什么?
运行速度相对较慢,动态类型在大型项目中需要更严格规范,多线程受 GIL 限制。
4. list 和 tuple 的区别?
list 可变,tuple 不可变。list 适合经常修改的数据,tuple 适合固定数据。
5. dict 的底层特点是什么?
dict 是键值对结构,基于哈希表实现,查找效率高。key 必须是可哈希对象。
6. set 有什么特点?
set 是无序、不重复的数据集合,常用于去重、交集、并集、差集运算。
7. is 和 == 的区别?
== 比较值是否相等,is 比较两个变量是否指向同一个对象。
a = [1, 2]
b = [1, 2]
print(a == b) # True
print(a is b) # False
8. 深拷贝和浅拷贝区别?
浅拷贝只复制外层对象,内部嵌套对象仍然共享;深拷贝会递归复制所有对象。
import copy
a = [[1, 2], [3, 4]]
b = copy.copy(a)
c = copy.deepcopy(a)
9. Python 如何处理异常?
使用 try except else finally。
try:
print(10 / 0)
except ZeroDivisionError:
print("不能除以 0")
finally:
print("结束")
10. 什么是装饰器?
装饰器是在不修改原函数代码的情况下,为函数增加额外功能的语法。
11. 什么是生成器?
生成器是使用 yield 返回数据的特殊迭代器,可以按需生成数据,节省内存。
12. *args 和 **kwargs 区别?
*args 接收多个位置参数,结果是元组;**kwargs 接收多个关键字参数,结果是字典。
13. Python 中如何管理依赖?
常用 pip、venv、requirements.txt,也可以使用 uv、Poetry、conda 等工具。
14. 什么是虚拟环境?
虚拟环境是项目独立的 Python 运行环境,可以隔离不同项目的依赖版本。
15. Python 中模块和包的区别?
单个 .py 文件是模块;包含 __init__.py 的目录可以作为包。
16. Python 中如何读取文件?
with open("test.txt", "r", encoding="utf-8") as f:
content = f.read()
17. with open() 有什么好处?
可以自动关闭文件,避免资源泄露。
18. Python 中如何处理 JSON?
使用标准库 json。
import json
json_str = json.dumps({"name": "小明"}, ensure_ascii=False)
data = json.loads(json_str)
19. 什么是 GIL?
GIL 是全局解释器锁,限制了 CPython 中同一时刻只有一个线程执行 Python 字节码。IO 密集型任务可以使用多线程,CPU 密集型任务更适合多进程或底层高性能库。
20. 多线程和多进程区别?
多线程共享进程内存,适合 IO 密集型任务;多进程内存隔离,适合 CPU 密集型任务。
21. 什么是异步编程?
异步编程通过事件循环在等待 IO 时切换任务,适合网络请求、数据库请求等 IO 密集型场景。
22. Flask、Django、FastAPI 区别?
Flask 轻量灵活;Django 大而全,适合完整系统;FastAPI 现代化,适合高性能 API 和前后端分离项目。
23. FastAPI 的优势是什么?
支持类型提示、自动参数校验、自动生成接口文档、性能较好,适合 API 服务。
24. Django 的优势是什么?
内置 ORM、Admin、认证、模板、表单、权限等能力,适合快速开发完整后台系统。
25. 什么是 ORM?
ORM 是对象关系映射,可以用 Python 类和对象操作数据库表和记录。
26. SQLAlchemy 是什么?
SQLAlchemy 是 Python 常用 ORM 和数据库工具库,FastAPI、Flask 项目中常用。
27. Python 如何连接 MySQL?
可以使用 PyMySQL、mysqlclient、SQLAlchemy 等库。
28. 什么是 RESTful API?
RESTful API 是基于资源的接口设计风格,常使用 GET、POST、PUT、DELETE 表示查询、创建、更新、删除操作。
29. JWT 是什么?
JWT 是一种 token 认证方式,常用于前后端分离项目的登录鉴权。
30. Python 如何做接口测试?
可以使用 requests + pytest。
31. pytest 有什么优势?
写法简洁、插件丰富、断言清晰,适合单元测试和接口自动化测试。
32. Python 如何读取 Excel?
可以使用 openpyxl 或 pandas。
33. pandas 主要用于什么?
pandas 主要用于表格数据处理、数据清洗、数据统计和分析。
34. NumPy 主要用于什么?
NumPy 主要用于数组计算、矩阵运算、科学计算。
35. Matplotlib 主要用于什么?
Matplotlib 用于绘制静态、动态和交互式图表。
36. requests 和 Selenium 区别?
requests 直接发送 HTTP 请求,速度快;Selenium 操作真实浏览器,适合动态页面和自动化测试。
37. Scrapy 适合什么场景?
Scrapy 适合结构化、中大型爬虫项目。
38. Python 中如何提高代码质量?
使用类型提示、单元测试、代码格式化工具、代码检查工具和合理的项目结构。
39. Black 是什么?
Black 是 Python 代码格式化工具,可以统一团队代码风格。
40. Ruff 是什么?
Ruff 是高性能 Python 代码检查和格式化工具。
41. Python 中如何读取环境变量?
import os
value = os.getenv("DATABASE_URL")
也可以使用 python-dotenv 读取 .env 文件。
42. 为什么不要把密码写死在代码里?
因为代码可能提交到 Git 仓库或泄露,应该使用环境变量或配置中心管理敏感信息。
43. Python 项目如何部署?
常用 Gunicorn/Uvicorn + Nginx,或使用 Docker 容器化部署。
44. FastAPI 生产环境为什么不直接用 --reload?
--reload 用于开发环境,生产环境应使用更稳定的进程管理方式。
45. 什么是 Pydantic?
Pydantic 是基于类型提示的数据校验和序列化库,FastAPI 中大量使用。
46. Python 中如何实现定时任务?
可以使用 schedule、APScheduler、Celery beat、Linux crontab。
47. 什么是 Celery?
Celery 是分布式任务队列,常用于异步任务、定时任务、邮件发送、数据处理。
48. Redis 在 Python 后端中常用来做什么?
缓存、验证码、登录状态、排行榜、分布式锁、消息队列辅助等。
49. Python 中如何处理大文件?
不要一次性全部读入内存,应按行读取、分块读取或使用生成器。
50. 学 Python 最重要的实战方向是什么?
根据目标选择方向:后端学 FastAPI/Django,自动化学 openpyxl/pandas,爬虫学 requests/Scrapy,数据分析学 pandas/NumPy,AI 学 scikit-learn/PyTorch。
二十七、官方文档与资源跳转链接
1. Python 官方资源
| 资源 | 链接 |
|---|---|
| Python 官网 | https://www.python.org/ |
| Python 下载 | https://www.python.org/downloads/ |
| Python 官方文档 | https://docs.python.org/3/ |
| Python 中文文档 | https://docs.python.org/zh-cn/3/ |
| Python 教程 | https://docs.python.org/3/tutorial/ |
| Python 标准库 | https://docs.python.org/3/library/ |
| Python 语言参考 | https://docs.python.org/3/reference/ |
| Python HOWTO | https://docs.python.org/3/howto/ |
| Python 包索引 PyPI | https://pypi.org/ |
| pip 文档 | https://pip.pypa.io/ |
| Python Packaging Guide | https://packaging.python.org/ |
2. 代码规范与工程化
| 资源 | 链接 |
|---|---|
| PEP 8 代码规范 | https://peps.python.org/pep-0008/ |
| Black | https://black.readthedocs.io/ |
| Ruff | https://docs.astral.sh/ruff/ |
| mypy | https://mypy.readthedocs.io/ |
| pre-commit | https://pre-commit.com/ |
| uv | https://docs.astral.sh/uv/ |
| Poetry | https://python-poetry.org/docs/ |
3. Web 后端框架
| 资源 | 链接 |
|---|---|
| Django 官网 | https://www.djangoproject.com/ |
| Django 文档 | https://docs.djangoproject.com/ |
| Django REST framework | https://www.django-rest-framework.org/ |
| Flask 文档 | https://flask.palletsprojects.com/ |
| FastAPI 文档 | https://fastapi.tiangolo.com/ |
| Starlette | https://www.starlette.io/ |
| Pydantic | https://docs.pydantic.dev/ |
| Uvicorn | https://www.uvicorn.org/ |
| Gunicorn | https://docs.gunicorn.org/ |
4. 数据库与缓存
| 资源 | 链接 |
|---|---|
| SQLAlchemy | https://docs.sqlalchemy.org/ |
| SQLModel | https://sqlmodel.tiangolo.com/ |
| PyMySQL | https://pymysql.readthedocs.io/ |
| PostgreSQL | https://www.postgresql.org/docs/ |
| MySQL | https://dev.mysql.com/doc/ |
| Redis | https://redis.io/docs/ |
| redis-py | https://redis.readthedocs.io/ |
| MongoDB Python Driver | https://pymongo.readthedocs.io/ |
| Alembic 数据库迁移 | https://alembic.sqlalchemy.org/ |
5. 自动化办公
| 资源 | 链接 |
|---|---|
| openpyxl | https://openpyxl.readthedocs.io/ |
| python-docx | https://python-docx.readthedocs.io/ |
| pypdf | https://pypdf.readthedocs.io/ |
| pandas IO 工具 | https://pandas.pydata.org/docs/user_guide/io.html |
| APScheduler | https://apscheduler.readthedocs.io/ |
6. 爬虫与浏览器自动化
| 资源 | 链接 |
|---|---|
| requests | https://requests.readthedocs.io/ |
| Beautiful Soup | https://www.crummy.com/software/BeautifulSoup/bs4/doc/ |
| lxml | https://lxml.de/ |
| Scrapy | https://docs.scrapy.org/ |
| Selenium | https://www.selenium.dev/documentation/ |
| Playwright Python | https://playwright.dev/python/ |
| HTTPX | https://www.python-httpx.org/ |
7. 数据分析与可视化
| 资源 | 链接 |
|---|---|
| NumPy | https://numpy.org/doc/ |
| pandas | https://pandas.pydata.org/docs/ |
| Matplotlib | https://matplotlib.org/stable/ |
| Seaborn | https://seaborn.pydata.org/ |
| Jupyter | https://docs.jupyter.org/ |
| Plotly Python | https://plotly.com/python/ |
8. AI 与机器学习
| 资源 | 链接 |
|---|---|
| scikit-learn | https://scikit-learn.org/stable/ |
| PyTorch | https://pytorch.org/docs/stable/index.html |
| TensorFlow | https://www.tensorflow.org/learn |
| Hugging Face Transformers | https://huggingface.co/docs/transformers/ |
| OpenCV Python | https://docs.opencv.org/ |
| LangChain | https://python.langchain.com/docs/ |
9. 测试与质量保障
| 资源 | 链接 |
|---|---|
| pytest | https://docs.pytest.org/ |
| unittest | https://docs.python.org/3/library/unittest.html |
| coverage.py | https://coverage.readthedocs.io/ |
| Locust 性能测试 | https://docs.locust.io/ |
10. 部署与运维
| 资源 | 链接 |
|---|---|
| Docker 文档 | https://docs.docker.com/ |
| Docker Compose | https://docs.docker.com/compose/ |
| Nginx 文档 | https://nginx.org/en/docs/ |
| Supervisor | http://supervisord.org/ |
| systemd | https://www.freedesktop.org/software/systemd/man/ |
| Linux 文档 | https://www.kernel.org/doc/html/latest/ |
11. 中文学习资源
| 资源 | 链接 |
|---|---|
| 廖雪峰 Python 教程 | https://www.liaoxuefeng.com/wiki/1016959663602400 |
| 菜鸟教程 Python | https://www.runoob.com/python3/python3-tutorial.html |
| Python 中文官方文档 | https://docs.python.org/zh-cn/3/ |
| MDN Web 后端介绍 | https://developer.mozilla.org/zh-CN/docs/Learn/Server-side |
12. 练习平台
| 平台 | 链接 |
|---|---|
| LeetCode | https://leetcode.cn/ |
| 牛客网 | https://www.nowcoder.com/ |
| Codewars | https://www.codewars.com/ |
| Exercism Python | https://exercism.org/tracks/python |
| HackerRank Python | https://www.hackerrank.com/domains/python |
二十八、学习计划
1. 7 天快速入门
| 天数 | 学习内容 | 练习 |
|---|---|---|
| 第 1 天 | 安装环境、变量、数据类型 | 写 BMI 计算器 |
| 第 2 天 | 条件、循环、字符串 | 写猜数字游戏 |
| 第 3 天 | list、tuple、dict、set | 写通讯录 |
| 第 4 天 | 函数、模块、包 | 封装工具函数 |
| 第 5 天 | 文件、JSON、异常 | 写学生管理系统 |
| 第 6 天 | 面向对象 | 用类重写学生管理系统 |
| 第 7 天 | pip、venv、requests | 调用接口获取数据 |
2. 30 天项目路线
| 阶段 | 时间 | 内容 |
|---|---|---|
| 基础语法 | 1 - 7 天 | 变量、类型、控制流、函数、数据结构 |
| 进阶能力 | 8 - 14 天 | 面向对象、文件、异常、模块、装饰器 |
| 工程化 | 15 - 18 天 | pip、venv、项目结构、Git、环境变量 |
| 后端入门 | 19 - 23 天 | FastAPI、路由、参数校验、接口文档 |
| 数据库 | 24 - 26 天 | MySQL、SQLAlchemy、CRUD |
| 项目实战 | 27 - 30 天 | 登录注册系统、JWT、前端联调、部署 |
3. 适合长期发展的方向
| 方向 | 推荐路线 |
|---|---|
| Python 后端 | FastAPI / Django + MySQL + Redis + Docker |
| 自动化办公 | openpyxl + pandas + 文件处理 + 邮件 + 定时任务 |
| 爬虫 | requests + bs4 + Scrapy + Playwright + 数据库存储 |
| 数据分析 | NumPy + pandas + Matplotlib + SQL + Jupyter |
| AI 应用 | Python + pandas + scikit-learn + PyTorch + transformers |
| 测试开发 | pytest + requests + Selenium/Playwright + CI/CD |
总结
Python 是一门非常适合扩展技术边界的语言。对前端开发者来说,Python 最值得优先学习的方向是:
Python 基础
↓
FastAPI 后端接口
↓
MySQL / Redis
↓
JWT 登录认证
↓
Vue / React 前端联调
↓
Docker + Nginx 部署
掌握这条路线后,你就可以从单纯前端开发,逐步扩展到前后端分离、后台系统、接口服务、自动化工具和数据处理平台。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)