为什么Python中的一些内置类是CapWords,而其他类不是?

为什么Python中的一些内置类是CapWords,而其他类不是?,python,datetime,coding-style,pep8,python-datetime,Python,Datetime,Coding Style,Pep8,Python Datetime,在PEP 8中,Guido说除了内置类之外,Python类应该大写: 请注意,内置名称有一个单独的约定:大多数内置名称是单个单词(或两个单词一起运行),而CapWords约定仅用于异常名称和内置常量 我很好奇:为什么有些内置类是大写字母,而有些不是?例如,datetime模块中的类(datetime、date、timedelta等)不大写。但是,请求(在urllib中)和队列是不匹配的 这背后有什么原因或故事吗?我的重点是“没有好的理由,只有历史”。我将@delnan所说的扩展到其他类,与内置类

在PEP 8中,Guido说除了内置类之外,Python类应该大写:

请注意,内置名称有一个单独的约定:大多数内置名称是单个单词(或两个单词一起运行),而CapWords约定仅用于异常名称和内置常量

我很好奇:为什么有些内置类是大写字母,而有些不是?例如,datetime模块中的类(datetime、date、timedelta等)不大写。但是,请求(在urllib中)和队列是不匹配的


这背后有什么原因或故事吗?

我的重点是“没有好的理由,只有历史”。我将@delnan所说的扩展到其他类,与内置类和其他类使用的不同样式,当以前单独的模块变为内置模块时,必然会发生冲突。我想知道这是否与它们一直是C扩展类型有关。例如,我听说,
datetime
模块中的类是C扩展类型,我知道它们是不可变的。如果子类化,它们可能会出现意外行为: