Python 变量和逻辑控制
课程目标
了解 Python 语言的特点与应用场景,完成 Python 环境搭建
熟练使用 PyCharm 开发工具,掌握基本操作流程
精通 Python 基础语法(注释、变量、输入输出、数据类型转换、运算符、条件判断)
能够运用基础语法完成简单的业务逻辑实现
Python 语言初识与环境搭建
为什么选择学习 Python
(1)行业趋势
Python 连续多年稳居 TIOBE 编程语言排行榜前三,在 PYPL 指数中更是长期占据榜首位置,成为全球最受欢迎的编程语言之一。无论是后端开发、数据分析、人工智能,还是自动化运维、爬虫开发,Python 都有广泛应用。

(2)易学易用
Python 仅包含 33 个关键字、7 种核心数据类型,语法规则简洁直观,接近自然语言。同样的功能实现,Python 代码量仅为 Java 的 1/5、C++ 的 1/10,极大降低了入门门槛。
(3)生态丰富
Python 拥有庞大的标准库和第三方库生态:
数据处理:NumPy、Pandas
可视化:Matplotlib、Seaborn
机器学习:Scikit-learn、TensorFlow
Web 开发:Django、Flask
自动化:Selenium、PyAutoGUI
Python 的发展历程
1989 年,荷兰程序员吉多・范・罗苏姆(Guido van Rossum,昵称 “龟叔”)为打发圣诞节假期,开始开发 Python 语言;1991 年,第一个 Python 解释器正式发布。Python 的命名源于龟叔喜爱的电视剧《Monty Python’s Flying Circus》(蒙蒂・蟒蛇的飞行马戏团),也体现了 Python 轻松有趣的设计理念。


Life is short, use Python.
Python 的优缺点分析
优点
简洁性:代码可读性极高,专注解决问题而非语言本身
开源免费:完全开源,可自由修改、分发,社区活跃
跨平台:可在 Windows、Linux、MacOS 等主流系统无缝运行
全能型:覆盖全栈开发、数据分析、人工智能等多个领域
胶水语言:可轻松与 C/C++、Java、Go 等语言混合开发
缺点
执行效率较低(解释型语言特性),但可通过 C 扩展、JIT 编译(PyPy)优化
多线程受 GIL 限制,高并发场景需结合多进程或异步编程
Python 解释器详解
Python 是高级编程语言,无法直接被计算机执行,需通过解释器将代码转换为机器语言(01 二进制)。常见解释器类型:

CPython:官方默认版本,C 语言开发,应用最广泛
IPython:交互式解释器,增强了 CPython 的交互体验
PyPy:JIT 编译型解释器,执行效率远超 CPython
Jython/IronPython:分别运行在 Java/.NET 平台的解释器
Python 版本选择
生产环境建议选择稳定版(如 3.8/3.9/3.10/3.11),避免最新版本的兼容性问题。官方下载地址:https://www.python.org/downloads/
环境安装(Anaconda)
(1)Anaconda/Miniconda/Conda 的区别
Conda:底层包管理和环境管理工具
Anaconda:”全家桶”,包含 Conda+Python+1500+数据科学库+图形化工具(体积约 500MB-1GB)
Miniconda:迷你版,仅包含 Conda+Python+核心依赖(体积小,适合定制化环境)
(2)安装步骤
1 下载对应系统版本的 Anaconda(官网:https://www.anaconda.com/)开始安装


2 选择为所有人安装

3 运行安装包,建议安装到非 C 盘目录

4 勾选 “Add Anaconda to my PATH environment variable”(可选,方便命令行调用)




5 等待安装完成,验证:

1 | conda -V # 查看conda版本 |
配置环境变量
为了可以在cmd中使用Python, 建议去系统环境变量中配置



开发工具 PyCharm 使用指南
PyCharm 的优势
作为 Python 专用 IDE,PyCharm 提供:
- 项目管理与代码组织
- 智能代码提示与补全
- 语法高亮与错误检测
- 断点调试与性能分析
- 内置版本控制(Git/SVN)
- 丰富的插件生态

PyCharm 版本选择
现在收费版(专业版)和免费版统一下载,免费版可以供个人使用,如果想升级收费版,需要购买激活码
PyCharm 安装与配置
(1)下载安装
官网地址:https://www.jetbrains.com/pycharm/download/
安装步骤:
下载对应系统版本的社区版

双击exe安装

选择非 C 盘安装路径

勾选 “Create desktop shortcut” 和 “.py file association”

选择试用

(2)核心操作
① 创建项目
打开 PyCharm,点击 “New Project”
设置项目名称与路径(非 C 盘)
选择 Python 解释器(Anaconda 或系统 Python)

点击 “Create” 完成创建
ps:
如果找不到解释器,则打开目录输入解释器路径即可

② 新建文件与编写代码
右键项目根目录 → New → Python File
输入文件名(如 hello_world)

编写入门代码:
1 | # 第一个Python程序 |
③ 运行代码
方式 1:右键代码编辑区 → Run ‘文件名’

方式 2:点击代码右上角的运行按钮

方式 3:快捷键 Shift+F10
④ 个性化设置
主题设置:File → Settings → Appearance & Behavior → Appearance

字体设置:File → Settings → Editor → Font(建议字号 14-16,字体 Consolas / 等线)

解释器切换:File → Settings → Project: 项目名 → Python Interpreter

⑤ 常用快捷键
| 快捷键 | 功能 |
|---|---|
| Ctrl+S | 保存代码 |
| Ctrl+/ | 快速注释 / 取消注释 |
| Ctrl+D | 复制当前行 |
| Ctrl+Z | 撤销操作 |
| Ctrl+Y | 恢复撤销 |
| Ctrl+Alt+L | 格式化代码 |
| Shift+F10 | 运行代码 |
| F9 | 断点调试 |
Python 基础语法核心知识点
注释规范
注释是代码的说明文档,解释器不会执行注释内容,核心作用是提高代码可读性。
(1)单行注释
以#开头,注释单行内容:
1 | # 这是单行注释(推荐写在代码上方) |
(2)多行注释
使用三引号("""或''')包裹多行内容:
1 | """ |
变量的定义与使用
(1)变量的本质
变量是存储数据的临时容器,程序运行过程中值可动态修改。
(2)定义语法
1 | # 变量名 = 变量值(等号两侧保留1个空格) |
(3)命名规则
强制规则
仅能包含字母、数字、下划线(_)
不能以数字开头
严格区分大小写(age 和 Age 是不同变量)
不能使用 Python 关键字(如 if、for、while)
推荐规范
见名知义(如 user_name 而非 a1)
多个单词命名:
小驼峰:userName(第二个单词首字母大写)
下划线:user_name(推荐,Python 官方风格)
大驼峰:UserName(类名专用)
(4)变量的数据类型
Python 是动态类型语言,变量类型由赋值的内容决定:
| 类型 | 说明 | 示例 |
|---|---|---|
| 整数(int) | 无小数的数字 | age = 20 |
| 浮点数(float) | 带小数的数字 | price = 19.9 |
| 字符串(str) | 文本内容(单 / 双引号包裹) | name = “Python” |
| 布尔值(bool) | 逻辑值(True/False) | is_ok = True |
| 列表(list) | 有序可变集合 | nums = [1,2,3] |
| 元组(tuple) | 有序不可变集合 | info = (“张三”, 20) |
| 字典(dict) | 键值对集合 | student = {“name”:”李四”, “age”:19} |
| 集合 (set) | 无序, 不重复序列 | num_set = {1,3,5} |
(5)类型检测
1 | # 方法1:type()函数 |
输入与输出
(1)格式化输出
方式 1:f-string(Python3.6+,推荐)
1 | name = "李四" |
方式 2:format() 方法
1 | print("姓名:{},年龄:{}".format(name, age)) |
方式 3:% 占位符(兼容旧版本)
1 | print("姓名:%s,年龄:%d,成绩:%.2f" % (name, age, score)) |
(2)转义字符
| 转义符 | 功能 |
|---|---|
| \n | 换行 |
| \t | 制表符(4 个空格) |
| \ | 反斜杠本身 |
| " | 双引号 |
| ' | 单引号 |
示例:
1 | print("姓名:{}\t年龄:{}\n成绩:{:.2f}".format(name, age, score)) |
(3)输入函数 input()
获取用户从键盘输入的内容,所有输入均为字符串类型:
1 | # 基础用法 |
数据存储本质

数据类型转换
当需要对输入的字符串进行数值运算时,需进行类型转换:
| 函数 | 功能 | 示例 |
|---|---|---|
| int(x) | 转换为整数 | int(“100”) → 100 |
| float(x) | 转换为浮点数 | float(“9.9”) → 9.9 |
| str(x) | 转换为字符串 | str(18) → “18” |
| eval(x) | 执行字符串表达式 | eval(“1+2”) → 3 |
示例:超市收银系统
1 | # 输入商品信息 |
运算符
(1)算术运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| + | 加法 | 10 + 20 → 30 |
| - | 减法 | 20 - 10 → 10 |
| * | 乘法 | 10 * 20 → 200 |
| / | 除法(返回浮点数) | 20 / 10 → 2.0 |
| // | 整除(向下取整) | 21 // 10 → 2 |
| % | 取模(余数) | 21 % 10 → 1 |
| ** | 幂运算 | 2 ** 3 → 8 |
示例:
1 | a = 10 |
(2)赋值运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| = | 基础赋值 | x = 10 |
| += | 加后赋值 | x += 5 → x = x + 5 |
| -= | 减后赋值 | x -= 5 → x = x - 5 |
| *= | 乘后赋值 | x *= 5 → x = x * 5 |
| /= | 除后赋值 | x /= 5 → x = x / 5 |
| //= | 整除后赋值 | x //= 5 → x = x // 5 |
| %= | 取模后赋值 | x %= 5 → x = x % 5 |
| **= | 幂后赋值 | x **= 5 → x = x ** 5 |
(3)比较运算符(返回布尔值)
| 运算符 | 描述 | 示例 |
|---|---|---|
| == | 等于 | 10 == 10 → True |
| != | 不等于 | 10 != 20 → True |
| > | 大于 | 20 > 10 → True |
| < | 小于 | 10 < 20 → True |
| >= | 大于等于 | 20 >= 10 → True |
| <= | 小于等于 | 10 <= 20 → True |
(4)逻辑运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| and | 逻辑与(都真才真) | (10>5) and (20>10) → True |
| or | 逻辑或(有真就真) | (10>5) or (20<10) → True |
| not | 逻辑非(取反) | not (10>5) → False |
条件判断(if 语句)
(1)核心作用
根据条件表达式的布尔结果(True/False),执行不同的代码块,实现程序的分支逻辑,是程序实现 “判断” 能力的核心语法。
(2)基本语法规则
Python 中用 缩进(4 个空格 / 制表符) 划分代码块,而非大括号,缩进必须统一
条件表达式后必须加冒号 :
条件表达式可结合比较运算符、逻辑运算符组合使用
(3)四种基本用法
① 单分支(if)
适用场景:满足条件则执行某段代码,不满足则跳过
1 | # 语法 |
② 双分支(if-else)
适用场景:二选一,满足条件执行 A 代码块,不满足执行 B 代码块
1 | # 语法 |
③ 多分支(if-elif-else)
适用场景:多个条件依次判断,满足某个条件则执行对应代码块,后续条件不再判断;所有条件都不满足则执行 else
1 | # 语法 |
④ 嵌套分支(if 内部嵌套 if/if-else)
适用场景:主条件满足后,需要再判断细分条件
1 | # 示例:判断是否能参加驾照考试 |
(4)条件表达式的高级用法
- 结合逻辑运算符实现复杂条件
1 | # 示例:判断是否为工作日的工作时间 |
- 三元表达式(简化单 / 双分支)
**语法**:`结果1 if 条件表达式 else 结果2`(满足条件返回结果 1,否则返回结果 2)
1 | # 示例:简化判断成年与否 |
(5)常见易错点
忘记写**冒号 **:条件表达式和 else/elif 后必须加冒号,否则语法报错
缩进不统一:同一代码块的缩进必须一致(要么全 4 个空格,要么全制表符)
把**赋值号 =当成等于号 ==**:条件判断中判断相等必须用
==,=是赋值,会导致逻辑错误
1 | # 错误写法 |
- 多分支中条件顺序错误:多分支是依次判断,范围大的条件不能写在前面
1 | # 错误写法:score>=60写在前面,会导致80+的成绩也判断为"及格" |
综合实战案例
案例 1:简易成绩管理系统(含条件判断)
1 | """ |
案例 2:班级活动费用分摊系统(运算符 + 输入输出 + 条件判断)
1 | """ |
学习建议
多敲代码:基础语法(尤其是 if 判断)需通过反复练习巩固,建议每天编写 1-2 个带判断逻辑的小案例
注重缩进:养成统一缩进的习惯,这是 Python 的核心语法规范,也是新手最易出错的点
调试思维:遇到条件判断逻辑错误时,用
print()打印条件表达式的结果,排查判断逻辑问题简化代码:简单的双分支逻辑尝试用三元表达式实现,提升代码简洁性
场景练习:结合生活场景(如成绩评级、会员判断、缴费计算)设计带判断逻辑的程序,学以致用
课后练习
编写程序:输入一个整数,判断其是奇数还是偶数(提示:用取模运算符
%,偶数 %2=0)编写程序:输入一个人的身高和体重,计算 BMI 指数并判断体型(偏瘦 / 正常 / 超重 / 肥胖)
BMI 公式:BMI = 体重 (kg) / (身高 (m))²
标准:<18.5 偏瘦,18.5-23.9 正常,24-27.9 超重,≥28 肥胖
编写程序:模拟超市会员打折,非会员无折扣,会员消费满 200 减 50,不满 200 打 9 折(输入会员状态和消费金额,输出实际支付金额)