为啥 collections.Counter 大写而 collections.defaultdict 不是?

Posted

技术标签:

【中文标题】为啥 collections.Counter 大写而 collections.defaultdict 不是?【英文标题】:Why is collections.Counter uppercase and collections.defaultdict is not?为什么 collections.Counter 大写而 collections.defaultdict 不是? 【发布时间】:2016-02-11 17:46:42 【问题描述】:

collections 模块中的一些元素似乎是大写的,而另一些则不是。这背后有什么具体的理由吗?

【问题讨论】:

legacy.python.org/dev/peps/pep-0008/#class-names 猜猜:一段代码包含一个名为counter变量 的几率是多少(这会影响该名称)?还有defaultdict? 【参考方案1】:

据thisreddit评论

所有用python编写的类都是大写的。

所有基于 C 代码的类型都较低。 [像原始人一样]

namedtuple 是一个函数,因此遵循函数的命名约定。 dequedefaultdict 是类型,(C); CounterOrderedDict 是类,(Python)。

【讨论】:

以上是关于为啥 collections.Counter 大写而 collections.defaultdict 不是?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理名称冲突 collections.Counter 和 typing.Counter?

python collections模块 计数器(counter)

Python_collections_Counter计数器部分功能介绍

以降序遍历 collections.Counter() 实例的 Pythonic 方式?

collections.Counter用法

collections.Counter用法