You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在全局作用域解包Enum会增加内存占用吗?关于引用创建的疑问

Python Enum解包:仅创建引用的理解是否正确?

你的理解完全正确。

在Python中,Enum类的每个成员在类定义阶段就已经完成实例化了。当你执行A, B, C = MyEnum.A, MyEnum.B, MyEnum.C这样的赋值操作时,只是把对应Enum实例的引用赋值给了新的变量,并没有创建新的Enum实例对象。

换句话说,新变量A、B、C和MyEnum.A、MyEnum.B、MyEnum.C指向的是同一个内存对象,这种操作不会额外占用内存或生成重复实例。对你那种包含多个Enum(而非单个500行Enum)的模块来说,这种解包操作完全不会带来额外负担。

代码示例

# app/enums.py
import enum


class MyEnum(enum.Enum):
    A = 1
    B = 2
    C = 3


A, B, C = MyEnum.A, MyEnum.B, MyEnum.C

内容的提问来源于stack exchange,提问作者Jason Leaver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 06:24:56