2.1表达式1
2.1 常量(Constants)
📌 常量的本质
-
固定不变的值:在程序运行过程中保持不变的数据
-
主要类型:
-
数字常量:整数(如
123)、浮点数(如98.6) -
字符串常量:用引号括起来的文本(如
"Hello")
-
💡 重要理解
-
常量就是"通常不改变的量"
-
Python中没有真正意义上的"常量"关键字,但约定全大写的变量名表示常量(如
MAX_VALUE = 100)
2.2 保留字(Keywords)
🚫 保留字的特性
-
专门用途:Python语言内部已赋予特定含义的单词
-
不可挪用:不能用作变量名、函数名或其他标识符
🐶 生动类比
就像训练狗狗时,"walk"这个词已关联到"散步"的行为,所以只在想带狗出门时才说"walk"。保留字在Python中也有固定的"响应方式",不能随意使用。
⚠️ 关键规则
-
使用保留字作为变量名会导致语法错误
-
常见保留字:
if,else,while,for,def,class,import等
2.3 变量(Variables)
📦 变量的本质
-
内存标签:为内存存储位置分配的可读名称
-
存储容器:类似于把东西装进箱子并贴上标签
🔠 变量命名规则
| 规则 | 正确示例 | 错误示例 |
|---|---|---|
| 可以包含:字母、数字、下划线 | student_name, score1 | 1student(数字开头) |
| 区分大小写 | spam, Spam, SPAM 是三个不同变量 | - |
| 不能用保留字 | my_print | print(保留字) |
| 推荐使用描述性名称 | student_age, total_score | x, a1(不清晰) |
💡 命名建议
-
使用蛇形命名法(snake_case):
good_variable_name -
保持一致性:整个程序中使用相同的命名风格
-
反映用途:变量名应暗示存储的内容
🎯 赋值语句详解
🔄 赋值操作符(=)的真正含义
-
不是数学相等:
x = x - 1在数学上矛盾,但在Python中完全合法 -
箭头比喻:更像是"把右边的值装进左边的变量盒子"
x = 43 # 把43放进x盒子 x = x - 1 # 从x盒子取出43,计算42,再把42放回x盒子
🔥 "防火墙"概念
等号就像防火墙:先完全计算右边表达式,然后将结果赋值给左边变量
📈 自增操作原理
x = 5
x = x + 1 # 执行过程:
# 1. 读取x的当前值(5)
# 2. 计算5 + 1得到6
# 3. 将6赋值给x
🎮 综合示例与最佳实践
代码示例
# 常量使用(约定全大写)
MAX_ATTEMPTS = 3
PI = 3.14159
# 变量声明与赋值
student_count = 45
average_score = 87.5
welcome_message = "Welcome to Python!"
# 变量重新赋值
counter = 0
counter = counter + 1 # 自增:counter现在是1
# 同时赋值多个变量
x, y, z = 10, 20, "hello"
✅ 好的命名习惯
# 好的命名(清晰易懂)
hours_worked = 40
hourly_rate = 25.50
total_pay = hours_worked * hourly_rate
# 不好的命名(模糊难懂)
h = 40
r = 25.50
p = h * r
💎 核心要点总结
-
常量:不变的数据,包括数字和字符串
-
保留字:Python专用词汇,不可用作变量名
-
变量:存储数据的命名容器
-
赋值:
=表示"装入"而非"等于" -
命名:遵循规则,追求清晰性和一致性
🚀 新手提示
-
不需要记忆所有规则,实践中自然掌握
-
遇到错误时,先检查变量名是否冲突
-
使用
good_name这样的命名方式作为标准 -
Python关注前后一致的变量名,而人类需要有意义的变量名
编程就像与计算机对话:你需要使用它能理解的语言(保留字),为存储空间起好名字(变量),并清楚表达你的意图(常量与赋值)。良好的命名习惯是优秀程序员的标志!
2.2表达式2
2.2 运算符与表达式详解
🔢 算术运算符
基本运算符
| 运算符 | 名称 | 示例 | 结果 | 说明 |
|---|---|---|---|---|
+ | 加法 | 5 + 3 | 8 | 同数学加法 |
- | 减法 | 5 - 3 | 2 | 同数学减法 |
* | 乘法 | 5 * 3 | 15 | 同数学乘法 |
/ | 除法 | 9 / 2 | 4.5 | 总是返回浮点数 |
特殊运算符
| 运算符 | 名称 | 示例 | 结果 | 用途 |
|---|---|---|---|---|
% | 取模(求余) | 17 % 5 | 2 | 求余数 |
** | 幂运算 | 2 ** 3 | 8 | 乘方计算 |
📊 取模运算符(%)的实用场景
1. 判断奇偶性
x = 7
if x % 2 == 0:
print("偶数")
else:
print("奇数") # 输出:奇数
2. 生成范围内数值
# 模拟扑克牌(52张)
card_number = random_number % 52 # 结果在0-51之间
3. 循环控制
# 每10次执行一次特殊操作
if counter % 10 == 0:
print("已处理10次")
💪 幂运算符(**)详解
-
基本用法:
base ** exponent -
示例:
6 ** 5 # 6的5次方 = 6×6×6×6×6 = 7776 2 ** 10 # 2的10次方 = 1024
🎯 运算顺序(优先级)
PEMDAS规则记忆法
text
P - 括号 (Parentheses) → 最高优先级 E - 指数 (Exponents) → ** M - 乘法 (Multiplication) → * D - 除法 (Division) → / A - 加法 (Addition) → + S - 减法 (Subtraction) → - 最低优先级
优先级层次表
| 优先级 | 运算符 | 描述 | 结合性 |
|---|---|---|---|
| 1 | () | 括号 | 从左到右 |
| 2 | ** | 指数 | 从右到左 |
| 3 | *, /, % | 乘、除、取模 | 从左到右 |
| 4 | +, - | 加、减 | 从左到右 |
运算示例
# 括号最高优先级
2 * (3 - 1) # = 2 * 2 = 4
(1 + 1) ** (5 - 2) # = 2 ** 3 = 8
# 指数次高
2 ** 1 + 1 # = 2 + 1 = 3(不是4!)
3 * 1 ** 3 # = 3 * 1 = 3(不是27!)
# 乘除高于加减
2 * 3 - 1 # = 6 - 1 = 5(不是4!)
6 + 4 / 2 # = 6 + 2 = 8(不是5!)
# 同级从左到右
5 - 3 - 1 # = 2 - 1 = 1(不是3!)
🔍 数据类型与转换
type()函数
print(type(42)) # <class 'int'>
print(type(3.14)) # <class 'float'>
print(type("Hello")) # <class 'str'>
类型转换函数
| 函数 | 描述 | 示例 | 结果 |
|---|---|---|---|
int() | 转为整数 | int(3.9) | 3(截断,非四舍五入) |
float() | 转为浮点数 | float(5) | 5.0 |
str() | 转为字符串 | str(100) | '100' |
⚠️ 重要提醒:浮点数精度问题
-
问题:浮点数使用二进制表示,可能导致精度丢失
0.1 + 0.2 == 0.3 # 返回False! -
解决方案:
-
金融计算:使用
decimal模块 -
近似比较:使用容差值
-
显示格式化:使用格式字符串
-
🔄 Python 2与Python 3的除法差异
# Python 2
9 / 2 # 返回 4(整数除法)
# Python 3(改进!)
9 / 2 # 返回 4.5(总是返回浮点数)
# 两种版本都支持
9 // 2 # 返回 4(整数除法,取整)
📝 字符串运算符
拼接运算(+)
first = "Hello"
second = "World"
print(first + second) # "HelloWorld"
print(first + " " + second) # "Hello World"
重复运算(*)
word = "Hi "
print(word * 3) # "Hi Hi Hi "
⚠️ 注意类型差异
# 数字加法 vs 字符串拼接
first = 10
second = 15
print(first + second) # 25(数字加法)
first = '100'
second = '150'
print(first + second) # '100150'(字符串拼接)
📋 实用建议
1. 使用括号增强可读性
# 难读
result = a * b + c / d - e
# 易读
result = (a * b) + (c / d) - e
2. 显式类型转换
# 避免隐式错误
age = input("请输入年龄:") # 输入"25",返回字符串
years_to_100 = 100 - int(age) # 需要显式转换
3. 浮点数处理策略
# 方法1:使用Decimal
from decimal import Decimal
price = Decimal('19.99')
# 方法2:格式化显示
total = 0.1 + 0.2
print(f"总计: {total:.2f}") # 显示两位小数
💎 核心要点总结
-
运算符优先级:记住PEMDAS,不确定时加括号
-
除法差异:Python 3中
/总是返回浮点数 -
类型意识:清楚每个变量的数据类型
-
浮点数陷阱:金融计算避免使用普通浮点数
-
字符串操作:
+用于拼接,*用于重复
实践建议:在编写复杂表达式时,先用括号明确意图,再根据情况简化。记住,代码不仅写给计算机看,也要写给未来的自己和其他开发者看!
11万+

被折叠的 条评论
为什么被折叠?



