为什么小写和UpperCamelCase的混合?
namedtuple
deque
Counter
OrderedDict
defaultdict
Run Code Online (Sandbox Code Playgroud)
为什么collections而不是Collections?
我有时会这样做:
from collections import default_dict
Run Code Online (Sandbox Code Playgroud)
因为失误.我可以使用什么经验法则来避免将来出现这样的错误?
看一下源代码,似乎唯一的"原因"是OrderedDict用Python编写的,而defaultdict在C语言中.但是看起来这种情况正在发生变化,因为Python 3.5应该有一个cOrderedDict(参见Python Bugs),这突出了我唯一的错误解释其实是.
谁能提供更好的解释?我希望有更好的理由.
编辑:对于Python 2.7,所谓的重复答案是可以的,而不是对于类3 /类型区别消失的Python 3.OrderedDict并且defaultdict都被解释器本身视为类:
>>> collections.defaultdict
<class 'collections.defaultdict'>
>>> collections.OrderedDict
<class 'collections.OrderedDict'>
Run Code Online (Sandbox Code Playgroud) 模块中的某些元素collections似乎是大写的,而另一些则不是。其背后是否有具体的理由?