参数我注意到,许多图书馆现在似乎更喜欢使用过的参数枚举类型变量的字符串。枚举VS字符串作为函数
在那里,人们以前会用枚举,例如dateutil.rrule.FR一个星期五,似乎这已经朝着使用字符串移动(例如“FRI”)。
在numpy的(或大熊猫就此而言)相同,其中searchsorted例如使用一个字符串(例如侧=“左”,或侧=“右”),而不是限定的枚举。为免生疑问,蟒蛇3.4在这之前可能已被很容易地作为一个枚举这样实现的:
class SIDE:
RIGHT = 0
LEFT = 1
和枚举类型变量的优点是显而易见的:没有引发错误你不能拼错他们,他们提供的IDE适当的支持,等等
那么,为什么使用字符串所有,而不是坚持枚举类型?这不会让程序更容易出现用户错误吗?这不像枚举会造成开销 - 如果有的话它们应该稍微高效。那么为什么这种模式转变发生?