本文主要是介绍python的代码优化(使用枚举),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当我们书写代码进行条件判断时,常会书写出以下类似的代码:
def foo(num):if num ==11:do_something()if num ==22:do_otherthing()
但是有没有想过,当我们把代码提交给别人时,如何做到让其他人能够快速准确的知道11,22这些数值面值代表的意思呢?
1.最直接的方式在数值面值处添加注释,但这显然不是提升代码可读性的最佳方式
2.采用枚举(enum)--enum
是 Python 自 3.4 版本引入的内置模块,如果你使用的是更早的版本,可以通过 pip install enum34
来安装它。下面是使用枚举的样式代码:
from enum improt IntEnumclass CommentsTOFeatured(IntEnum):FROM_WEBSITE = 11FROM_CLIENT = 22def foo(num):if num==CommentsToFeatured.FROM_WEBSITE:do_something()if num==CommentsToFeatured.FROM_CLIENT:do_otherthing()
试想一下,如果你在某个分支判断时将 11
错打成了 111
会怎么样?我们时常会犯这种错,而这类错误在早期特别难被发现。将这些数字字面量全部放入枚举类型中可以比较好的规避这类问题。类似的,将字符串字面量改写成枚举也可以获得同样的好处。
使用枚举类型代替字面量的好处:
- 提升代码可读性:所有人都不需要记忆某个神奇的数字代表什么
- 提升代码正确性:减少打错数字或字母产生 bug 的可能性
这篇关于python的代码优化(使用枚举)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!