为什么一些构造函数像int()
,list()
,set()
和许多其他开头的小写字母而不是大写?这不应该写成Int()
,List()
, Set()
等?为什么一些内置的构造函数以小写字母开头?
5
A
回答
5
这些类型是原始工厂函数,而不是类型。因此他们得到了一个小写的名字:
$ python1.5
Python 1.5.2 (#1, Apr 1 2009, 22:55:54) [GCC 4.1.2 20070925 (Red Hat
4.1.2-27)] on linux2
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>> type(int)
<type 'builtin_function_or_method'>
,他们现在类型反正是一个历史的假象
所有内置类型现在遵守这个约定,包括set
和frozenset
,这是后添加int
等类型的统一类型。
6
尽管其中大多数的历史原因,遵守Pythons命名约定的内建名称不使用CapWords。这在PEP 8规定:
注意这里是内置的名字单独约定:最内建的名字是单个单词(或两个词一起运行),与CapWords公约只用于异常的名称和内置的常量。
+0
这更多的是现在盛行。 –
+0
事实上,这就是为什么我说这些大部分是@MartijnPieters。这个历史先例对命名规则的影响程度是另一个我想知道的问题:-) –
相关问题
- 1. 让Javascript函数的名称以小写字母开头有什么好处吗?
- 2. 为什么双参数构造函数以明确的关键字开头?
- 3. 错误错误:构造函数名不应以小写字母开头babel/new-cap
- 4. 写一个什么都不做的构造函数可以吗?
- 5. 为什么重写继承的构造函数字段
- 6. 为什么要将原型的构造函数设置为其构造函数?
- 7. 将IDENTITY设置为以字母开头
- 8. 为什么构造函数会忽略重写的虚函数?
- 9. 为什么PHP中的一些变量用大写字母写?
- 10. gvim:替换小写字母不以大写开头
- 11. 为什么JQuery中的一些函数区分大小写?
- 12. 为什么父母的构造函数被调用?
- 13. 为什么不是构造函数设置一个参数?
- 14. 检查字符串是否以小写字母开头
- 15. 为什么构造函数不是构造函数?
- 16. Psycopg2不喜欢以小写字母开头的表名
- 17. 什么类型的java构造函数是这些?构造函数链接?
- 18. 流星构造函数缩写为生产中的一个字母
- 19. 构造函数内的构造函数
- 20. 为什么会话容器名称必须以字母开头?
- 21. 为什么有一个内部构造函数什么都不做特别的?
- 22. 为什么c中的一些函数名字写成两行?
- 23. 强制doxygen模块以小写字母开头
- 24. 以小写字母
- 25. 为什么这个构造函数是这样写的?
- 26. 大写字母小写函数C
- 27. 为什么System.Data.SqlClient.SqlDataReader没有构造函数
- 28. 为什么allocator在构造函数中?
- 29. 为什么构造函数未定义?
- 30. 为什么JAVA需要构造函数?
当然Martijn彼得斯有Python 1.5安装:) –
@AdamSmith我有一个'0.9.1'躺在(和[你也可以](https://www.python.org/download/发布/早/)) –