Appearance
章节1 Python入门与环境搭建
授课时长:约3-4学时
适用对象:Python零基础学员
教学方式:讲授 + 演示 + 实操
一、学习目标
| 目标分类 | 具体目标 |
|---|---|
| 知识目标 | 理解Python语言特性、应用场景与行业发展 |
| 技能目标 | 掌握Python解释器安装、多版本环境管理、IDE配置与调试 |
| 素养目标 | 建立编码规范意识,写出符合PEP8规范的第一个Python程序 |
二、核心知识点
1️⃣ Python语言特性与应用场景
1.1 什么是Python
Python是一种高级、解释型、通用编程语言,由Guido van Rossum于1991年发布。其设计哲学强调代码可读性和简洁性。
Python之禅(The Zen of Python):在交互式环境中输入
import this即可查看。美胜于丑,明胜于暗,简胜于繁。
1.2 核心特性
| 特性 | 说明 |
|---|---|
| 解释型语言 | 逐行执行,无需编译,开发效率高 |
| 动态类型 | 变量类型在运行时确定,无需声明 |
| 强类型 | 类型不匹配时会报错,不会隐式转换 |
| 跨平台 | Windows / macOS / Linux 均可运行 |
| 面向对象 | 支持类、继承、多态等面向对象特性 |
| 丰富的标准库 | "内置电池"(Batteries Included)哲学 |
| 海量第三方库 | PyPI 拥有超过50万个第三方包 |
1.3 应用场景
┌─────────────────────────────────────────────┐
│ Python 应用全景图 │
├─────────────┬───────────────────────────────┤
│ Web开发 │ Django, Flask, FastAPI │
│ 数据分析 │ Pandas, NumPy, SciPy │
│ AI/机器学习 │ TensorFlow, PyTorch, Scikit-learn│
│ 自动化运维 │ Ansible, Fabric, SaltStack │
│ 爬虫 │ Scrapy, BeautifulSoup, Selenium │
│ 桌面应用 │ PyQt, Tkinter, wxPython │
│ 游戏开发 │ Pygame, Panda3D │
│ 嵌入式 │ MicroPython, CircuitPython │
│ 科学计算 │ Matplotlib, SymPy │
└─────────────┴───────────────────────────────┘1.4 Python 版本演进
python
# Python 2 已于 2020年1月1日 正式停止维护
# 当前主流版本:Python 3.8+ / 3.10+ / 3.12+
# 查看版本
import sys
print(f"当前Python版本: {sys.version}")
print(f"版本号: {sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}")版本选择建议:
- 新项目统一使用 Python 3.10+
- 生产环境推荐 Python 3.10~3.12(稳定版)
- 旧项目视依赖库兼容性选择合适的 3.x 版本
2️⃣ 解释器安装与多版本环境管理
2.1 Python 解释器下载安装
官方下载地址:https://www.python.org/downloads/
安装注意事项:
✅ 勾选 "Add Python to PATH"(将Python加入环境变量)
✅ 选择 "Customize installation" 可自定义安装路径
✅ 建议安装路径中不要包含中文字符和空格验证安装:
bash
# Windows 终端 / CMD / PowerShell
python --version
pip --version
# Linux / macOS
python3 --version
pip3 --version2.2 多版本管理工具
方案A:pyenv(推荐 macOS / Linux)
bash
# macOS 安装
brew install pyenv
# Linux 安装
curl https://pyenv.run | bash
# 常用命令
pyenv install --list # 查看可安装版本
pyenv install 3.10.11 # 安装指定版本
pyenv install 3.12.3 # 安装新版本
pyenv versions # 查看已安装版本
pyenv global 3.12.3 # 设置全局版本
pyenv local 3.10.11 # 设置项目版本(生成 .python-version)方案B:Windows 多版本管理
bash
# Windows 建议直接安装多个版本,使用 Python Launcher
# Python Launcher (py) 随官方安装包自带
py --list # 查看已安装的 Python 版本
py -3.10 # 使用 Python 3.10
py -3.12 # 使用 Python 3.12
py -3.10 my_script.py # 用指定版本运行脚本2.3 虚拟环境管理(venv)
虚拟环境为每个项目创建独立的Python运行环境,隔离依赖包。
bash
# 创建虚拟环境
python -m venv myproject_env
# 激活虚拟环境
# Windows (CMD)
myproject_env\Scripts\activate
# Windows (PowerShell)
myproject_env\Scripts\Activate.ps1
# macOS / Linux
source myproject_env/bin/activate
# 退出虚拟环境
deactivate
# 快速工作流
python -m venv .venv # 常见命名:.venv 或 venv
pip install -r requirements.txt # 安装项目依赖
pip freeze > requirements.txt # 导出当前环境依赖python
# 代码中检查当前是否在虚拟环境中
import sys
print(f"当前解释器路径: {sys.executable}")
print(f"是否在虚拟环境: {hasattr(sys, 'real_prefix') or sys.base_prefix != sys.prefix}")2.4 pip 包管理工具
bash
# 常用 pip 命令
pip --version # 查看版本
pip install requests # 安装包
pip install requests==2.28.1 # 安装指定版本
pip install -r requirements.txt # 批量安装
pip list # 列出已安装包
pip list --outdated # 列出可更新的包
pip show requests # 查看包详情
pip uninstall requests # 卸载包
pip search keyword # 搜索包
# 配置国内镜像源(加速下载)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 临时使用
pip install numpy -i https://pypi.mirrors.ustc.edu.cn/simple3️⃣ PyCharm IDE 配置与调试
3.1 PyCharm 版本选择
| 版本 | 特点 | 适用场景 |
|---|---|---|
| PyCharm Community | 免费、开源、轻量 | 纯Python开发、教学 |
| PyCharm Professional | 付费、功能全面 | Web开发(Django/Flask)、SQL、远程开发 |
3.2 项目创建流程
1. 启动 PyCharm → New Project
2. 选择项目目录
3. 配置解释器:
- New environment using → Virtualenv
- Location: 项目目录/.venv
- Base interpreter: 选择系统已安装的 Python 版本
4. 选择 Create 完成创建3.3 常用配置建议
python
# PyCharm 配置入口:File → Settings (Windows) / Preferences (macOS)
# ──────────────────────────────────────────
# 1. 代码风格(PEP8 规范)
# Editor → Code Style → Python
# - Tabs and Indents: Use tab character ❌(不勾选)
# - Indent: 4 spaces
#
# 2. 文件编码
# Editor → File Encodings
# - IDE Encoding: UTF-8
# - Project Encoding: UTF-8
# - Default encoding for properties files: UTF-8
#
# 3. 自动导入
# Editor → General → Auto Import
# - Show import popup: ✅
# - Add unambiguous imports on the fly: ✅
#
# 4. 快捷键(建议熟记)
# Windows / Linux macOS 功能
# Ctrl + P Cmd + P 参数提示
# Ctrl + Q Cmd + J 快速文档
# Ctrl + B Cmd + B 跳转到定义
# Ctrl + Alt + L Cmd + Opt + L 格式化代码
# Ctrl + D Cmd + D 复制行
# Shift + F10 Ctrl + R 运行
# Shift + F9 Ctrl + D 调试
# ──────────────────────────────────────────3.4 调试入门
python
"""
调试是编程最基本也最重要的技能。
"""
def calculate_bmi(weight, height):
"""计算BMI指数"""
bmi = weight / (height ** 2) # ① 在此行左侧点击设置断点
if bmi < 18.5:
category = "偏瘦"
elif 18.5 <= bmi < 24:
category = "正常"
elif 24 <= bmi < 28:
category = "超重"
else:
category = "肥胖"
return bmi, category
# 调试方法:
# 1. 在行号右侧点击设置断点(红点)
# 2. 右键 → Debug 'calculate_bmi' 或点击右上角小虫子图标
# 3. 使用 F8 单步执行(Step Over)
# 4. 使用 F7 进入函数内部(Step Into)
# 5. 观察 Variables 面板中变量的变化
# 6. 在 Watches 面板添加表达式监视
result = calculate_bmi(70, 1.75)
print(f"BMI计算结果: {result}")调试快捷键速查表:
| 操作 | Windows | macOS | 说明 |
|---|---|---|---|
| 开始调试 | Shift + F9 | Ctrl + D | 以调试模式运行 |
| 单步跳过 | F8 | F8 | 执行当前行,不进入函数 |
| 单步进入 | F7 | F7 | 进入函数内部 |
| 单步跳出 | Shift + F8 | Shift + F8 | 跳出当前函数 |
| 继续运行 | F9 | Cmd + Opt + R | 运行到下一个断点 |
| 查看断点 | Ctrl + Shift + F8 | Cmd + Shift + F8 | 管理所有断点 |
4️⃣ 第一个程序与PEP8规范
4.1 第一个 Python 程序
python
# =============================================
# 第一个 Python 程序
# 文件: hello.py
# =============================================
# 方式1:直接输出
print("Hello, World!")
# 方式2:使用变量
greeting = "Hello, Python!"
print(greeting)
# 方式3:输入输出交互
name = input("请输入你的名字: ")
print(f"你好,{name}!欢迎来到Python世界。")4.2 两种运行方式
bash
# 方式一:交互式运行(REPL)
python
>>> print("Hello")
>>> 1 + 2
>>> exit()
# 方式二:脚本文件运行
python hello.py
python hello.py > output.txt # 重定向输出到文件4.3 PEP8 编码规范详解
PEP8 是 Python 增强提案第8号(Python Enhancement Proposal #8),是官方推荐的代码风格指南。
缩进规则
python
# ✅ 正确:4个空格缩进
def greet(name):
if name:
print(f"Hello, {name}")
else:
print("Hello, World")
# ❌ 错误:混用 Tab 和空格
# ❌ 错误:使用不同数量的空格缩进
# ✅ 换行缩进(行太长时)
total = (first_variable + second_variable
+ third_variable + fourth_variable)命名规范
python
# ──────────────────────────────────────
# 命名风格对照表
# ──────────────────────────────────────
# 类型 约定 示例
# ──────────────────────────────────────
# 变量 小写+下划线 user_name, item_count
# 常量 全大写+下划线 MAX_SIZE, PI
# 函数 小写+下划线 get_name(), calculate_total()
# 类 PascalCase StudentInfo, HttpRequest
# 方法 小写+下划线 def get_name(self):
# 私有属性/方法 前加单下划线 _internal, _helper()
# 魔术方法 双下划线前后包裹 __init__, __str__
# 包/模块 简短小写 os, sys, my_module
# ──────────────────────────────────────
# 示例
MAX_RETRIES = 3 # 常量
user_full_name = "张三" # 变量
class StudentManager: # 类名 PascalCase
def __init__(self): # 构造函数
self._students = [] # 私有属性
def add_student(self, name): # 公开方法
self._students.append(name)空行规则
python
# 顶级函数和类之间空2行
import os
import sys
def func1():
pass
class MyClass:
pass
# 类内部方法之间空1行
class Calculator:
def add(self, a, b):
return a + b
def subtract(self, a, b):
return a - b导入规范
python
# 导入顺序(每组之间空一行):
# 1. 标准库
# 2. 第三方库
# 3. 本地应用/库
import os
import sys
from typing import List, Optional
import requests
import numpy as np
from mypackage import mymodule
# ✅ 一行导入一个模块
# ❌ from os import * (禁止通配导入)行长与空格
python
# 每行不超过 79 个字符(文档和注释72字符)
# 可以在 PyCharm 中设置右边线提示
# ✅ 操作符两侧各加一个空格
x = 1 + 2
y = x * 3
# ✅ 逗号后加空格,括号内不需要
func(a, b, c) # ✅
func( a, b, c ) # ❌
# ✅ 关键字参数等号两侧不加空格
def func(name=None): # ✅
pass
def func(name = None): # ❌
pass文档字符串(Docstring)
python
def calculate_area(radius: float) -> float:
"""
计算圆的面积。
Args:
radius: 圆的半径。
Returns:
圆的面积(π × r²)。
Raises:
ValueError: 如果半径为负数。
Example:
>>> calculate_area(5)
78.53981633974483
"""
if radius < 0:
raise ValueError("半径不能为负数")
return 3.14159 * radius ** 2三、代码实操演示
演示1:交互式环境探索
python
# 在终端输入 python 进入交互模式,尝试:
>>> 3 + 5 * 2
13
>>> "Hello" + " " + "World"
'Hello World'
>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> import this # Python之禅演示2:完整的脚本程序
python
"""
文件名: first_demo.py
说明: 一个简单的个人信息卡程序
"""
import sys
from datetime import datetime
def get_user_info():
"""获取用户输入信息"""
name = input("请输入姓名: ").strip()
year = int(input("请输入出生年份: "))
return name, year
def calculate_age(birth_year):
"""计算年龄"""
current_year = datetime.now().year
return current_year - birth_year
def create_card(name, age):
"""生成名片"""
border = "=" * 40
card = f"""
{border}
个 人 名 片
{border}
姓名: {name}
年龄: {age}
语言: Python
时间: {datetime.now().strftime('%Y-%m-%d %H:%M')}
{border}
"""
return card
def main():
"""主函数"""
print("🌟 个人信息卡生成器 🌟")
print("-" * 30)
name, year = get_user_info()
age = calculate_age(year)
card = create_card(name, age)
print(card)
if __name__ == "__main__":
main()四、常见错误与排错
| 错误类型 | 错误示例 | 原因与解决 |
|---|---|---|
| SyntaxError | print "Hello" | Python3中print是函数,需加括号 print("Hello") |
| IndentationError | 缩进不一致 | 检查是否混用Tab和空格,统一使用4个空格 |
| NameError | print(name) 但name未定义 | 变量在使用前必须已赋值 |
| FileNotFoundError | python hello.py 找不到文件 | 检查文件路径是否正确,文件名是否拼写正确 |
| ModuleNotFoundError | import flask 报错 | 未安装该模块,执行 pip install flask |
五、小结
知识图谱
Python入门与环境搭建
├── Python概述
│ ├── 语言特性:解释型、动态类型、跨平台
│ ├── 应用场景:Web/AI/数据分析/自动化
│ └── 版本选择:Python 3.10+
├── 环境搭建
│ ├── 解释器安装:python.org
│ ├── 多版本管理:pyenv / py launcher
│ └── 虚拟环境:python -m venv .venv
├── IDE使用
│ ├── PyCharm 配置与快捷键
│ └── 调试操作(断点/单步/监视)
└── 第一个程序
├── print() / input() 基本用法
└── PEP8 规范(缩进/命名/空行/导入)重点回顾
- Python 是解释型、动态类型、强类型的高级编程语言
- 推荐使用
venv为每个项目创建独立虚拟环境 - PyCharm 的调试功能是排查问题的利器
- PEP8 是 Python 代码风格的事实标准,请严格遵守
六、课后练习
基础题
- 环境搭建:在自己的电脑上完成 Python 3.10+ 的安装,并配置 PyCharm IDE。
- 第一个程序:编写一个程序,使用
input()接收用户的姓名、年龄,然后输出一段自我介绍。 - PEP8规范:阅读 https://pep8.org/,找出自己代码中不符合规范的地方并进行修改。
进阶题
- 虚拟环境:创建一个虚拟环境,在其中安装
requests和numpy两个包,然后导出requirements.txt文件。 - 调试练习:编写一个包含 bug 的计算程序(如:应计算圆的面积但公式写成了周长),使用调试功能定位并修复。
挑战题
- 交互式菜单:编写一个简单的命令行菜单程序,支持输入1-3选择不同的功能(如查看时间、计算平方、退出),使用
while循环保持程序运行直到用户选择退出。
参考资料
- Python 官方文档:https://docs.python.org/zh-cn/3/
- PEP8 官方原文:https://www.python.org/dev/peps/pep-0008/
- PEP8 中文翻译:https://github.com/zhongxinghong/PEP8
- PyCharm 官方教程:https://www.jetbrains.com/help/pycharm/