第1天上午_Python基础1
第一天上午-python基础1
1. Python简介
2. python编程环境搭建
(1)PyCharm
简介
PyCharm 是由 JetBrains 公司开发的专业级 Python 集成开发环境(IDE),提供完整的开发工具链:
- 版本分类:Community(社区版,免费开源)和 Professional(专业版,付费,支持 Web 框架、数据库工具等高级功能)
- 核心优势:
- 智能代码补全、语法高亮和错误检查
- 强大的调试器和测试工具
- 内置版本控制(Git/SVN)
- 项目结构管理、虚拟环境支持
- 专业版额外支持 Django/Flask 等 Web 框架、数据库工具、科学计算插件
- 适用场景:中大型项目开发、Web 应用、企业级软件开发
安装方法(2026 最新版)
前提:需先安装 Python(建议 3.8+ 版本)
Windows 系统:
- 访问官网下载:https://www.jetbrains.com/pycharm/download/
- 选择版本:
- 初学者/普通开发 → 下载 Community 版
- 专业开发/Web 开发 → 下载 Professional 版(可试用 30 天)
- 运行安装程序:
- 勾选
.py文件关联 - 勾选 "Add to PATH"(方便命令行调用)
- 选择安装路径(建议默认)
- 保持默认组件选项,点击 Install
- 勾选
- 首次启动配置:
- 选择 UI 主题(Light/Dark)
- 配置 Python 解释器:
File → Settings → Project → Python Interpreter→ 选择已安装的 Python 路径
macOS/Linux:
- macOS:通过官网下载
.dmg文件拖拽安装,或使用 Homebrew:brew install --cask pycharm-community - Linux:下载
.tar.gz解压后运行bin/pycharm.sh,或通过 Snap:sudo snap install pycharm-community --classic
💡 提示:PyCharm 2026 版本(当前最新为 2025.3)支持 Apple Silicon 芯片原生运行,启动速度提升 30%
(2)Jupyter Notebook
简介
Jupyter Notebook 是基于 Web 的交互式计算环境,核心特点:
- 单元格式编程:将代码、文本(Markdown)、公式、图表混合编排在同一文档中
- 实时执行:逐单元格运行代码,即时查看输出结果(含可视化图表)
- 内核支持:默认支持 Python,也支持 R、Julia 等 40+ 种语言
- 适用场景:数据科学探索、机器学习实验、教学演示、快速原型开发
- 生态扩展:JupyterLab(增强版界面)、JupyterHub(多用户服务器)
安装方法(2026 推荐方案)
方案一:通过 Anaconda(推荐新手)
Anaconda 是数据科学发行版,自带 Jupyter Notebook 和常用库(NumPy/Pandas 等):
- 下载 Anaconda:https://www.anaconda.com/download
- 运行安装程序(Windows 勾选 "Add to PATH")
- 安装完成后:
- Windows:开始菜单 → Anaconda Navigator → 点击 Jupyter Notebook 的 Launch
- 或命令行执行:
jupyter notebook
方案二:通过 pip(轻量级安装)
前提:已安装 Python 3.7+ 且配置好环境变量
# 1. 升级 pip(推荐)
python -m pip install --upgrade pip
# 2. 安装 Jupyter
pip install notebook
# 3. 启动(自动在浏览器打开)
jupyter notebook
启动后默认在
http://localhost:8888打开 Web 界面
验证安装
jupyter --version # 查看版本(2026 年主流为 Notebook 7.x / JupyterLab 4.x)
选择建议
| 场景 | 推荐工具 | 原因 |
|---|---|---|
| 大型项目/工程开发 | PyCharm | 完善的项目管理、调试和重构工具 |
| 数据分析/机器学习实验 | Jupyter Notebook | 交互式探索、可视化即时反馈 |
| 教学/报告撰写 | Jupyter Notebook | 代码+文档混合排版,便于分享 |
| 全能方案 | PyCharm + Jupyter 插件 | PyCharm Professional 内置 Jupyter 支持,兼顾两者优势 |
💡 2026 趋势:JupyterLab 正逐步替代传统 Notebook 成为主流界面;PyCharm 2026 版本强化了对 Jupyter 的原生集成,可在 IDE 内直接运行 Notebook 单元格
(3)Visual Studio Code (VS Code)
简介
Visual Studio Code(简称 VS Code)是由 Microsoft 开发的免费开源、轻量级但功能强大的源代码编辑器,已成为全球最受欢迎的开发者工具之一(2025 年 Stack Overflow 调查中连续 6 年排名第一)[[25]]:
核心优势:
- 跨平台:Windows/macOS/Linux 全平台支持,同步配置(通过 Settings Sync)
- 极致轻量:启动速度 <1 秒,内存占用仅为 PyCharm 的 1/3
- 扩展生态:通过 Marketplace 安装插件实现功能扩展(Python、Jupyter、Docker 等)
- 内置工具:集成终端、Git 可视化、调试器、代码片段
- AI 增强:2026 年内置 GitHub Copilot 免费基础版(代码自动补全、注释生成)
- Jupyter 原生支持:
.ipynb文件可直接编辑运行,无需切换工具 [[23]]
适用场景:
- 全栈开发(前端 + Python 后端)
- 轻量级脚本/数据分析(配合 Jupyter 插件)
- 教学/快速原型开发(启动快、学习曲线平缓)
- 多语言混合项目(Python + JavaScript/SQL 等)
💡 2026 新特性:VS Code 1.95+ 版本引入 "Dev Containers 2.0",可一键在 Docker 容器中配置隔离开发环境,彻底解决依赖冲突问题 [[24]]
安装方法(2026 最新版)
步骤 1:安装 VS Code 本体
| 平台 | 安装方式 |
|---|---|
| Windows | 1. 官网下载:https://code.visualstudio.com/download 2. 运行 .exe 安装程序 → 勾选 "Add to PATH"(关键!)→ 完成安装 |
| macOS | 1. 下载 .zip 或使用 Homebrew:brew install --cask visual-studio-code2. 拖拽 Visual Studio Code.app 到 Applications 文件夹 |
| Linux (Debian/Ubuntu) | ```bash wget -qO- https://packages.microsoft.com/keys/microsoft.asc |
✅ 验证安装:终端执行
code --version,应输出版本号(2026 年主流为 1.95+)
步骤 2:配置 Python 开发环境(关键!)
VS Code 本身不包含 Python 支持,需通过扩展激活:
安装 Python 扩展:
- 打开 VS Code → 左侧活动栏点击 Extensions(Ctrl+Shift+X)
- 搜索
Python→ 安装 Microsoft 官方扩展(作者:Microsoft,下载量 >5000 万)[[26]] - 推荐同时安装:
Pylance(智能补全引擎)Jupyter(支持.ipynb文件)Python Indent(自动缩进优化)
配置 Python 解释器:
- 按
Ctrl+Shift+P→ 输入Python: Select Interpreter→ 选择已安装的 Python 路径 - 若未检测到:先安装 Python(python.org/downloads),勾选 "Add Python to PATH"
- 按
(可选)创建虚拟环境:
# 在项目目录中执行 python -m venv .venv # Windows/macOS/Linux 通用 # VS Code 会自动检测 .venv 并提示使用
步骤 3:验证 Python 环境
- 新建文件
test.py,输入:print("VS Code Python 环境正常!") import sys print(f"Python 版本: {sys.version}") - 右键 → Run Python File,或按
F5启动调试 - 底部状态栏应显示当前使用的 Python 解释器路径
与 PyCharm/Jupyter 对比
| 特性 | VS Code | PyCharm | Jupyter Notebook |
|---|---|---|---|
| 启动速度 | ⚡ 极快 (<1s) | ⏱️ 较慢 (5-10s) | ⚡ 快 (Web 启动) |
| 资源占用 | 低 (~300MB) | 高 (~1.5GB) | 中 (~500MB) |
| 项目管理 | 中(需配置) | 强(开箱即用) | 弱(单文件为主) |
| 交互式计算 | ✅(需 Jupyter 插件) | ✅(专业版内置) | ✅(原生支持) |
| 学习成本 | 低(界面简洁) | 中(功能复杂) | 极低 |
| 适用场景 | 全能轻量级开发 | 专业工程开发 | 数据探索/教学 |
💡 2026 实践建议:
- 新手入门:VS Code + Python 扩展(安装简单、资源占用低)
- 数据分析:VS Code 内置 Jupyter(
.ipynb文件直接编辑,比独立 Notebook 更易管理代码)- 企业级开发:PyCharm Professional(重构/数据库工具更强大)
- 终极方案:VS Code 作为主力编辑器 + GitHub Codespaces 云端开发(2026 年免费额度提升至 60 小时/月)[[27]]
常见问题解决
| 问题 | 解决方案 |
|---|---|
安装后命令行无法识别 code | Windows:重装时勾选 "Add to PATH";macOS:Cmd+Shift+P → Shell Command: Install 'code' command |
| Python 扩展无法激活 | 检查是否安装 Python 本体 → 重启 VS Code → 查看输出面板(Output → Python)错误日志 |
| Jupyter Notebook 无法运行 | 安装内核:pip install ipykernel → 重启 VS Code |
📌 官方资源:
- Python in VS Code 教程:https://code.visualstudio.com/docs/python/python-tutorial
- 快捷键速查:
Ctrl+K Ctrl+S(Windows/Linux)或Cmd+K Cmd+S(macOS)
3. Python基础语法
(1) 对计算机语言的理解
(2)python变量
(3)python列表
(4)python字符串
(5)python字典
(6)python元组
4. Python实战
🌍 综合实训项目:旅行愿望清单管理器1.0
—— 用Python数据结构规划你的梦想之旅 ——
该项目目的是在真实场景中综合运用变量、列表、字符串、字典和元组,同时培养数据建模思维。项目难度梯度设计,基础功能覆盖全部知识点,扩展任务挑战高阶应用。
📌 项目背景
你正在开发一个旅行愿望清单应用,帮助用户管理梦想目的地。每个目的地需记录:城市名、国家、必去理由、预算、地理坐标和旅行季节。通过这个项目,你将用Python数据结构构建完整的“数据模型”。
🧩 核心功能要求(必做)
1️⃣ 数据建模(综合运用5种数据类型)
# 示例:一个目的地的数据结构(学生需自行设计完整结构)
destination = {
"city": "京都", # 字符串:城市名
"country": "日本", # 字符串:国家
"reason": "体验千年古都的禅意", # 字符串:理由(需用字符串方法处理)
"budget": 8000, # 变量:预算(整数)
"coordinates": (35.0116, 135.7681), # 元组:经纬度(不可变)
"best_season": ("春季", "秋季") # 元组:最佳旅行季节
}
2️⃣ 系统功能(菜单驱动)
实现以下交互式菜单(用while循环+input()):
===== 旅行愿望清单管理器 =====
1. 添加新目的地
2. 查看所有目的地(格式化输出)
3. 按城市搜索目的地
4. 删除目的地
5. 统计分析(总预算/目的地数量)
6. 退出
请选择操作 (1-6):
3️⃣ 关键知识点覆盖表
| 功能模块 | 涉及知识点 | 实训目标 |
|---|---|---|
| 添加目的地 | - 字典创建(键值对) - 字符串输入处理( .strip()/.title())- 元组封装坐标 | 掌握复合数据结构构建 |
| 格式化输出 | - 列表遍历(for循环)- 字符串格式化(f-string) - 元组解包( lat, lon = coord) | 提升数据展示能力 |
| 城市搜索 | - 字符串匹配(.lower()统一大小写)- 列表+字典组合查询 | 强化字符串操作与数据检索 |
| 统计分析 | - 变量累加(总预算) - 列表长度( len())- 字典值提取 | 培养数据聚合思维 |
| 数据存储 | - 列表作为容器存储多个字典 | 理解“列表装字典”的经典模式 |
🛠️ 实训任务卡(分步指导)
✅ 任务1:初始化数据容器(5分钟)
# 创建空列表存储所有目的地(核心容器)
wishlist = [] # ← 这是贯穿项目的“主变量”
# 预置2个示例目的地(帮助学生快速启动)
wishlist.append({
"city": "巴黎",
"country": "法国",
"reason": "在埃菲尔铁塔下喝咖啡",
"budget": 12000,
"coordinates": (48.8588897, 2.320041),
"best_season": ("春季", "夏季")
})
# 再添加1个目的地(学生自行完成)
✅ 任务2:实现添加功能(15分钟)
def add_destination():
# 字符串处理:统一城市名格式(首字母大写)
city = input("城市名: ").strip().title()
# 元组输入:坐标需转换为浮点数元组
lat = float(input("纬度: "))
lon = float(input("经度: "))
coordinates = (lat, lon) # ← 元组创建
# 字典构建
new_dest = {
"city": city,
"country": input("国家: ").strip(),
"reason": input("理由: ").strip(),
"budget": int(input("预算(元): ")), # ← 变量类型转换
"coordinates": coordinates,
"best_season": tuple(input("最佳季节(用空格分隔): ").split()) # ← 字符串→元组
}
wishlist.append(new_dest) # ← 列表操作
print(f"✓ 已添加 {city} 到愿望清单!")
✅ 任务3:实现格式化输出(10分钟)
def show_all():
print("\n" + "="*50)
print(f"{'序号':<5}{'城市':<10}{'国家':<8}{'预算':<10}{'坐标'}")
print("="*50)
for idx, dest in enumerate(wishlist, 1): # ← 列表遍历+索引
# 元组解包 + 字符串格式化
lat, lon = dest["coordinates"]
print(f"{idx:<5}{dest['city']:<10}{dest['country']:<8}"
f"{dest['budget']:<10}{lat:.4f}, {lon:.4f}")
# 变量统计:总预算
total = sum(d["budget"] for d in wishlist) # ← 列表推导式+变量累加
print("="*50)
print(f"💡 共 {len(wishlist)} 个目的地 | 总预算: ¥{total:,} 元")
✅ 任务4:实现搜索功能(10分钟)
def search_by_city():
keyword = input("输入城市关键词: ").lower() # ← 字符串标准化
# 列表+字典组合查询
results = [
dest for dest in wishlist
if keyword in dest["city"].lower() # ← 字符串匹配
]
if results:
for dest in results:
print(f"\n📍 {dest['city']}, {dest['country']}")
print(f" 理由: {dest['reason']}")
print(f" 预算: ¥{dest['budget']}")
# 元组解包输出季节
seasons = " / ".join(dest["best_season"]) # ← 元组→字符串
print(f" 最佳季节: {seasons}")
else:
print("❌ 未找到匹配的目的地")
🌟 挑战任务(选做,加分项)
数据验证
- 添加时检查预算是否为正数(
if budget <= 0: ...) - 坐标范围校验(纬度-9090,经度-180180)
- 添加时检查预算是否为正数(
高级统计
# 按预算排序(列表排序+lambda) sorted_list = sorted(wishlist, key=lambda x: x["budget"], reverse=True)持久化存储
- 退出前将
wishlist列表保存到wishlist.txt(用str()转换) - 启动时读取文件恢复数据(为后续文件操作铺垫)
- 退出前将
📝 教师指导建议
分步验收:
- 先验收数据结构设计(检查字典键名是否合理)
- 再验收单个功能(如先确保
add_destination能正确存入数据) - 最后整合菜单循环
典型错误预警:
- ❌ 混淆列表
append()和字典update()→ 强调wishlist是列表,元素是字典 - ❌ 元组误用列表 → 提问:“坐标需要修改吗?不需要就用元组!”
- ❌ 字符串大小写匹配失败 → 演示
.lower()统一处理
- ❌ 混淆列表
思政融合点:
“用字典组织数据就像规划旅行——每个键(key)是明确的目标,每个值(value)是具体的行动。编程思维能帮我们把模糊的愿望变成可执行的计划!”
💡 项目价值总结
| 知识点 | 在项目中的体现 | 现实意义 |
|---|---|---|
| 变量 | total累加预算、idx循环计数 | 量化管理资源 |
| 字符串 | .title()标准化城市名、.lower()搜索 | 数据清洗与用户友好交互 |
| 列表 | wishlist存储所有目的地 | 集合管理思维 |
| 字典 | 每个目的地的结构化数据 | 现实对象的数字化建模 |
| 元组 | 坐标/季节等不可变数据 | 保护关键数据完整性 |
✨ 结语:当学生运行
show_all()看到自己规划的“梦想地图”整齐输出时,他们会真切感受到——Python数据结构不是抽象概念,而是构建数字世界的基石。这正是实训课的核心价值!
