【Python实战】零基础实战教程(三) 变量与数据类型
【Python实战】零基础Python实战教程
- 前言
- 一、变量(Variables)
- 1、What is Variables (变量是什么) ?
- 2、变量注解(Variable Annotation)语法
- 3、变量命名规则
- 3.1 核心规则(必须遵守)
- 3.1.1 合法字符
- 3.1.2 保留关键字禁止使用
- 3.1.3 大小写敏感
- 3.2 命名风格规范(PEP 8标准)
- 3.3 命名原则(最佳实践)
- 3.3.1 描述性命名
- 3.3.2 长度平衡
- 3.3.3 避免歧义
- 3.4 特殊场景规范
- 3.4.1 避免内置名称
- 3.4.2 布尔值命名
- 3.4.3 集合类型命名
- 3.4.4 临时变量
- 3.5 常见错误示例与修正
- 3.6 工具支持
- 3.6.1 IDE 检查
- 3.6.2 静态检查工具
- 3.6.3 自动格式化
- 二、数据类型(Data Types)
- 1、数值类型(Numbers)
- 1.1 整数(int)
- 1.2 浮点数(float)
- 1.3 复数(complex)
- 1.3.1 为什么用 j 而不是 i?
- 1.3.2 复数的组成
- 1.3.3 应用场景
- 1.4 布尔值(Boolean)
- 1.5 字符串(String)
- 1.5.1 字符串创建
- 1.5.2 单引号和双引号的区别
- 1.5.3 转义字符
- 1.5.4 字符串操作
- 1.6 列表(List)—— 可变序列
- 1.6.1 创建列表
- 1.6.2 列表操作
- 1.7 列表推导式(List Comprehension)
- 1.8 元组(Tuple)—— 不可变序列
- 1.8.1 创建元组
- 1.8.2 元组特性
- 1.9 类型转换(Type Conversion)
- 1.9.1 常用转换函数
- 1.9.2 注意事项
- 三、总结
- 1. 核心知识点回顾
- 2. 学习建议
- 四、结语

前言
好久没写博客了,还是坚持一下,继续这次关于Python基础的教程。
关于上一章,Python环境管理器pip的使用教程。
如果有同学还需要加深印象的话,可以点击右边传送门:【Python实战】零基础实战教程(二) pip?
今天即将带大家来探索的是Python的 【变量和数据类型】
这个是 Python 中最基础但又最重要的概念,这次带大家深入浅出。
掌握这些内容后,你就能在实战中处理各种数据,并为后续的控制流、函数、面向对象等知识做好铺垫。
基础打好了后,才能用Python来大杀四方!嘿嘿!
一、变量(Variables)
1、What is Variables (变量是什么) ?
变量:是程序运行时用于存储数据的“容器”。
在 Python 中,你不需要显式声明变量的类型,只需给它赋值即可。
# 整型
x = 10
# 字符串
name = "Tony"
# 布尔值
is_valid = True
上述例子的语法虽然简洁又直接,但 非 常 不 推 荐 。
弊端如下:
- 代码可读性和可维护性降低。
value = 42 # 整数
value = "Hello" # 字符串
value = [1, 2] # 列表
value = 3.14 # 浮点数
问题:其他开发者(或未来的你)难以理解变量的预期用途。
后果:增加调试难度,代码变得脆弱。
- 运行时错误风险增加。
total = 0
# for循环
for i in range(10):if i % 2 == 0:total = total + i # 整数加法else:total = str(total) # 突然变成字符串total += "!" # 字符串拼接# 下一行会崩溃!
result = total * 2 # TypeError: 字符串不能和整数相乘
问题:类型相关的操作可能在意外位置崩溃。
后果:难以追踪的TypeError异常。
-
性能影响。
虽然Python本身是动态类型语言,但频繁类型变更会影响:
- 解释器优化:CPython的字节码优化器难以推断类型。
- 内存分配:每次类型变更都需重新分配内存。
- 缓存局部性:不同类型对象内存布局不同,降低CPU缓存命中率。
# 性能测试对比
import timeit# 固定类型
def stable_type():x = 0for i in range(10000):x = i # 始终整数# 动态类型
def dynamic_type():x = 0for i in range(10000):x = i if i % 2 else str(i) # 交替整数/字符串print("固定类型:", timeit.timeit(stable_type, number=1000))
print("动态类型:", timeit.timeit(dynamic_type, number=1000))# 典型结果:
# 固定类型: 0.8秒
# 动态类型: 1.5秒 (慢约2倍)
-
开发工具(IDE)支持失效。
- 类型检查器(如mypy)无法提供有效静态检查。
- IDE自动补全失效(无法推断变量类型)。
- 文档生成工具无法确定参数/返回类型。
-
设计缺陷的信号。
- 变量被用于多个不相关的目的(违反单一职责)。
- 缺少合理的抽象(应使用不同变量或类封装)。
- 数据处理流程设计混乱。
2、变量注解(Variable Annotation)语法
这个语法主要是用来给变量加上类型提示。
推荐语法如下:
# 整型
x: int = 10
# 字符串
name: str = "Tony"
# 布尔值
is_valid: bool = True
在大型项目上,Python语言的维护难度是很高的,有一部分原因是因为变量的类型没有约束,也没有相应的注释导致的。
这个变量注解的语法的优势如下:
- 提高代码可读性和可维护性(方便自己也方便他人)
- 降低运行时错误风险(不同数据类型交叉赋值)
- 性能提高(既定类型变量不需要重新分配内存)
3、变量命名规则
3.1 核心规则(必须遵守)
3.1.1 合法字符
- 首字符:字母(a-z, A-Z)或下划线 _ 。
- 后续字符:字母、数字(0-9)、下划线 _ 。
- 禁止:空格、连字符 -、特殊符号(如 @, $, # 等)。
# 合法
user_name = "Alice"
_count = 10
total2 = 30# 非法
2nd_place = "Bob" # 不能以数字开头
user-name = "Charlie" # 不能包含连字符
$price = 9.99 # 不能包含特殊符号
3.1.2 保留关键字禁止使用
- 不能使用 Python 关键字(如 if, for, while, class 等)。
# 错误示例
class = "Computer Science" # SyntaxError