今天,我试图将我的一些“最终”价值观(班级成员)从一个班级外包给一个枚举。我运行了编写并注意到的单元测试,测试需要比以前更长的时间才能完成。当我将这些“最终”值放回课堂时,一切又回到了原来的速度。这是一个当它们在枚举中时如何访问它们的示例:
class SpecialCharacters(Enum):
TONE_NUMBERS = ["0", "1", "2", "3", "4"]
像这样访问它:
SpecialCharacters.TONE_NUMBERS.value
在类中访问值的示例:
self.TONE_NUMBERS
所以我想知道为什么将值放入Enum时我的测试要花3倍(!)的时间。这应该是对另一个班级成员的简单调用,但是我想那不会有太大的不同。
(将它们外包的目的是它们可用于其他课程,而这些其他课程不必访问与它们无关的课程。)
我的python版本是3.4。
这是Python 3.4枚举中的一个已知错误:https : //bugs.python.org/issue23486
它在Python 3.5中已“修复”,因此enum属性查找仅比正常速度慢3倍,而不是20倍。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句