Python枚举(Enum)技巧,你值得了解
枚举(Enum)提供了更清晰、结构化的方式来定义常量。通过为枚举添加行为、自动分配值和存储额外数据,可以提升代码的可读性、可维护性,并与数据库结合使用时,使用字符串代替数字能简化调试和查询。
Python中的枚举(Enum)
枚举让你以结构化的方式定义命名常量。比如:
这让代码的可读性立刻提升。
为枚举添加行为
大多数人只停留在这里,他们仅仅将枚举用于存储值,错过了其中一个最好的部分——你可以为枚举添加方法。没有到处重复角色检查,而是将逻辑移到了枚举本身:
这样更简洁,维护起来也更容易。如果需要为新角色添加编辑权限,只需更新枚举——不再需要在多个文件中找寻条件。
自动分配值
手动为枚举分配数字感觉……有些不必要。Python 提供了一个内建的方式来处理这个问题:
这会自动将 1、2、3 分配给角色——这样我就不需要再考虑数字了。
带有额外数据的枚举
有一段时间,我意识到我需要的不仅仅是一个名称——角色还需要不同的权限和描述。于是,我将这些信息嵌入到枚举中,而不是管理单独的字典:
不需要单独的映射。所有信息都在一起,使代码更易于阅读和扩展。
枚举与数据库
如果需要将枚举存储在数据库中,使用字符串而不是数字。
这样,数据库中保存的不是数字 1,而是 "admin"。这样做能让调试和查询变得更容易。
相关文章
- Spring Boot中对接Twilio以实现发送验证码和验证短信码
- Spring Boot 3.5:这次更新让你连配置都不用写了,惊不惊喜?
- Spring Boot+Pinot实战:毫秒级实时竞价系统构建
- SpringBoot敏感配置项加密与解密实战
- SpringBoot 注解最全详解,建议收藏!
- Spring Boot 常用注解大全:从入门到进阶
- SpringBoot启动之谜:@SpringBootApplication如何让配置化繁为简
- Springboot集成Kafka原理_spring集成kafka的原理
- Spring Boot中@Data注解的深度解析与实战应用
- 大佬用1000字就把SpringBoot的配置文件讲的明明白白!
