爲什麼一些構造函數像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/發佈/早/)) –