从0到全栈:Python全栈开发500课成长地图 ——新手友好型实战指南(附代码示例)
🚀 第一阶段:Python基础(50课)
目标:掌握Python核心语法,能独立编写脚本
1.1 变量与数据类型
Python
# 动态类型示例
name = "Alice" # 字符串 age = 25 # 整数 price = 19.99 # 浮点数 is_student = True # 布尔值
print(f"{name} is {age} years old. Price: ${price:.2f}")1.2 条件与循环
Python
# 判断成绩等级
score = 85 if score >= 90: grade = "A" elif score >= 80: grade = "B" else: grade = "C" print(f"Grade: {grade}")
列表推导式
squares = [x**2 for x in range(10) if x % 2 == 0]
print(squares) # 输出 [0, 4, 16, 36, 64]
🌐 第二阶段:Web开发(150课)
目标:掌握前后端交互,能开发完整Web应用
2.1 Flask基础(后端)
Python
from flask import Flask, request, jsonify
app = Flask(name)
@app.route('/api/greet', methods=['GET']) def greet(): name = request.args.get('name', 'Guest') return jsonify({"message": f"Hello, {name}!"})
if name == 'main': app.run(debug=True)测试方法:访问 http://127.0.0.1:5000/api/greet?name=Tom,返回:
Json
{"message": "Hello, Tom!"}2.2 HTML+JavaScript(前端)
Html
<!DOCTYPE html>
Greet
<script>
async function fetchGreeting() {
const name = document.getElementById('nameInput').value;
const response = await fetch(`/api/greet?name=${name}`);
const data = await response.json();
document.getElementById('result').textContent = data.message;
}
</script>
📊 第三阶段:数据库与ORM(100课)
目标:熟练操作SQL与NoSQL数据库
3.1 SQLite + SQLAlchemy
Python
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker, declarative_base
Base = declarative_base()
class User(Base): tablename = 'users' id = Column(Integer, primary_key=True) name = Column(String(50)) email = Column(String(100))
初始化数据库
engine = create_engine('sqlite:///mydatabase.db') Base.metadata.create_all(engine)
插入数据
Session = sessionmaker(bind=engine)
session = Session()
new_user = User(name="Alice", email="alice@example.com")
session.add(new_user)
session.commit()
🤖 第四阶段:自动化与爬虫(80课)
目标:能抓取数据并自动化处理
4.1 爬取豆瓣电影Top250
Python
import requests
from bs4 import BeautifulSoup
url = "movie.douban.com/top250" headers = {'User-Agent': 'Mozilla/5.0'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser')
movies = [] for item in soup.select('.item'): title = item.select_one('.title').text rating = item.select_one('.rating_num').text movies.append({"title": title, "rating": rating})
print(movies[:3]) # 输出前3部电影
🔧 第五阶段:DevOps与部署(50课)
目标:掌握CI/CD、Docker、云服务
5.1 Docker部署Flask应用
Dockerfile
Dockerfile
FROM python:3.9-slim
WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD ["flask", "run", "--host=0.0.0.0"]部署命令
Bash
docker build -t my-flask-app .
docker run -p 5000:5000 my-flask-app 🎯 学习路线总结
阶段 核心技能 实战项目
基础 语法、数据结构 计算器、文件处理工具
Web Flask/Django、AJAX 博客系统、电商网站
数据库 SQL、MongoDB 用户管理系统
爬虫 Requests、Scrapy 数据采集分析
DevOps Docker、AWS 自动化部署
📌 学习建议
每日一练:坚持写至少20行代码
项目驱动:每学完一个阶段就做一个小项目
善用AI:用ChatGPT调试代码(但不要直接复制)
资源推荐:
Python官方文档
Flask Mega-Tutorial
(全文约2000字,覆盖全栈核心技能,适合新手系统学习)