Python 变量
如何在 Python 中创建和使用变量——动态类型、命名与赋值。
你将学到
- 如何给变量赋值(无需声明关键字)
- Python 的动态类型及如何检查类型
- 变量命名规则与约定(PEP 8)
- 多重赋值与交换变量
概念讲解
创建变量
在 Python 中,只需赋值即可创建变量。没有 let、const 或 var 关键字——赋值 = 自动创建变量:
name = "Ada"
age = 25
pi = 3.14159
is_admin = True
动态类型
Python 是动态类型的——变量可持有任何类型,且类型可在运行时改变。你无需声明类型,Python 自己推断:
x = 10 # x 是 int
x = "hello" # 现在 x 是 str
x = [1, 2, 3] # 现在 x 是 list
用 type() 查看变量当前持有什么类型,用 isinstance() 测试类型:
print(type(age)) # <class 'int'>
print(isinstance(age, int)) # True
命名规则
变量名必须:
- 以字母或下划线开头(不能以数字)
- 只含字母、数字和下划线
- 不能是保留关键字(
if、for、class等) - 区分大小写(
age和Age不同)
PEP 8 约定:
- 变量和函数用
snake_case:user_count、total_price - 常量用
UPPER_SNAKE_CASE:MAX_CONNECTIONS、PI - 类用
PascalCase:MyClass - 以
_开头的名称按约定为"私有":_internal_value
多重赋值
Python 允许一次赋多个变量,既简洁又可读:
# 把同一个值赋给多个变量
x = y = z = 0
# 一行赋不同的值
name, age, role = "Ada", 25, "admin"
# 不用临时变量交换两个变量
a, b = 1, 2
a, b = b, a # 现在 a=2, b=1
变量是引用
当你把对象(如列表)赋给变量时,变量是该对象的引用。这对可变性很重要:
a = [1, 2, 3]
b = a # b 指向同一个列表
b.append(4)
print(a) # [1, 2, 3, 4]——a 也变了!
要创建副本,用 b = a.copy() 或 b = list(a)。
示例代码
# 基本赋值——无需声明关键字
name = "Ada Lovelace"
age = 25
height = 1.68
is_student = True
print(f"{name} is {age} years old and {height}m tall")
# 动态类型——同一变量可改变类型
x = 10
print(type(x)) # <class 'int'>
x = "now a string"
print(type(x)) # <class 'str'>
# 多重赋值
a, b, c = 1, 2, 3
print(f"a={a}, b={b}, c={c}")
# 不用临时变量交换
a, b = b, a
print(f"After swap: a={a}, b={b}")
# 变量是引用——小心可变对象
original = [1, 2, 3]
reference = original
reference.append(4)
print(f"original is also changed: {original}") # [1, 2, 3, 4]
# 改用真正的副本
copy = original.copy()
copy.append(5)
print(f"original is NOT changed: {original}") # 仍是 [1, 2, 3, 4]
展示了基本赋值、动态类型 type()、多重赋值、交换技巧、列表的共享引用陷阱,以及用 .copy() 避免它。
动手试一试
- Case Converter
Python 命名约定(snake_case)——在线转换文本。
- Math Evaluator
计算你可能会赋给变量的表达式。
常见错误
错误写法
在条件中用单个 =(赋值)而非 ==(比较)
正确做法
Python 中 = 赋值,== 比较。if x = 5 是 SyntaxError;用 if x == 5。Python 在解析时就能捕获这个错误。
错误写法
以为 b = a 会复制列表,结果两个都变了很惊讶
正确做法
b = a 创建对同一对象的引用,不是副本。用 b = a.copy() 做浅拷贝,或 import copy; b = copy.deepcopy(a) 处理嵌套结构。
相关资源
相关速查表
- Python Cheatsheet
变量赋值、命名与类型检查参考。
练习 Python 变量
2 个练习
查阅不认识的术语
新手友好的术语表用大白话解释编程术语——变量、函数、DOM、Promise 等等。
动手做项目
通过引导式项目应用所学,含起始代码与解决方案。
解读错误信息
用大白话解释常见错误——什么意思、为什么发生、如何修复。