在 Python 中,a = 10 这类赋值语句为数据绑定名称(变量),以便在后续表达式中反复引用。名称须符合标识符规则;所谓常量并无专用关键字保护,通常以全大写命名作为约定。直接写在源码中的固定取值(如 10、"hi"、True、0b1010)称为字面量。本节说明赋值与多重赋值、常量约定、命名规则及常见字面量形式。

变量与赋值

变量可理解为指向对象的名称;重新赋值时,名称可绑定到新对象,类型也可随之改变。Python 不必事先声明类型,解释器根据赋值右侧的值推断类型:

number = 10
print(number)   # 10

number = 1.1    # 重新赋值,类型也跟着变
print(number)   # 1.1

多重赋值与解包

右侧为逗号分隔的多个值时,可一次解包赋给多个名称;若多个名称需绑定同一初值,可连续使用等号:

Python 变量多重赋值与解包示例运行
a, b, c = 5, 3.2, "Hello"   # 元组解包
print(a, b, c)              # 5 3.2 Hello

x = y = z = "same"          # 同一对象绑定到三个名称
print(x, y, z)              # same same same

常量的命名约定

Python 没有不可变赋值的常量关键字。习惯上将不宜改动的量放在独立模块(.py 文件)中,用全大写加下划线命名,以提醒阅读者与维护者:

# constant.py
PI = 3.14
GRAVITY = 9.8
# main.py
import constant
print(constant.PI)       # 3.14
print(constant.GRAVITY)  # 9.8

上述约定仅属风格与协作规范,解释器仍允许对 PI 等名称重新赋值,约束需由代码审查与测试保证。

命名规则

  • 名称由字母、数字、下划线组成,且不能以数字开头。
  • 不得使用 if、for、class 等保留关键字。
  • 不得包含 !、@、#、$、% 等特殊符号。
  • 普通变量宜采用 snake_case(小写加下划线),如 my_name、current_salary。
  • 常量宜采用全大写,如 SPEED_OF_LIGHT。
  • 名称应能表达含义:vowel 通常比单字母 v 更易读。

字面量(Literal)

字面量是源码中直接写出的数据。整数除十进制外,可用 0b、0o、0x 前缀表示二进制、八进制、十六进制;浮点可用科学计数法;复数虚部以 j 或 J 结尾:

a = 0b1010     # 二进制,值为 10
b = 100        # 十进制
c = 0o310      # 八进制,值为 200
d = 0x12c      # 十六进制,值为 300

float_1 = 10.5     # 浮点
float_2 = 1.5e2    # 科学计数法,值为 150.0

x = 3.14j          # 复数

print(a, b, c, d)  # 10 100 200 300(按十进制打印)
print(float_1, float_2)   # 10.5 150.0
print(x, x.imag, x.real)  # 3.14j 3.14 0.0

字符串与布尔字面量

字符串可用单引号、双引号或三引号书写。True、False 为布尔字面量;在算术表达式中 True 当作 1、False 当作 0(一般不推荐依赖此行为):

strings = "This is Python"
char = 'C'
multiline = """跨越多行的
字符串"""

a = True + 4     # 5
b = False + 10   # 10
print(a, b)      # 5 10

None 与集合字面量

None 表示尚无具体值,常用于占位或表示缺失。列表、元组、字典、集合均有对应的字面量写法:

food = None
print(food)   # None
fruits = ["apple", "mango", "orange"]   # 列表
numbers = (1, 2, 3)                     # 元组
alphabets = {'a': 'apple', 'b': 'ball'} # 字典
vowels = {'a', 'e', 'i', 'o', 'u'}      # 集合

常见误区

  • 使用保留字作变量名(如 class = 1)将导致语法错误。
  • 以数字开头命名(如 1st_name)无效。
  • 误以为全大写名称不可修改:解释器不会阻止对常量风格名称重新赋值。

本节说明了 Python 中变量的含义、赋值方式、命名约定与字面量形式。下一节介绍数据类型:内置类型、type() 与类型转换。