python里字面量是什么?

在 Python 里,字面量(literal)就是“写在源码里、解释器一看就能直接算出值”的常量写法,不需要再经过变量查找或函数调用。
常见几类:

类型 字面量示例 说明
数字 42 -3.14 0xFF 1_000_000 3+4j 整型、浮点、十六进制、二进制、复数
字符串 "hello" 'py' r"raw" b"bytes" f"{x=}" 单/双/三引号、原始串、字节串、 f-string
布尔 True False 关键字常量
空值 None 单例
容器 [1,2,3] (4,5) {7,8} {'a':1} 列表、元组、集合、字典字面量

特点

  1. 编译阶段就被解析成对应的常量对象,放入所在模块的 co_consts
  2. 对不可变类型(数字、字符串、元组…)多次出现相同值时,CPython 会常量折叠并复用同一对象:
    >>> def f(): return 128+128 is 256
    >>> def g(): return 257 is 257
    >>> f(), g()
    (True, False)   # 256 被折叠,257 在交互语句里新建
    
  3. 可变容器字面量每次执行都会新建对象
    >>> [] is []
    False
    

一句话:字面量就是“写死在代码里的常量值”,Python 在运行时直接把它们变成对应类型的对象。

posted @ 2025-11-09 15:50  wangya216  阅读(2)  评论(0)    收藏  举报