在python中为什么"对象"所有小写​​都是小写而不是首都的第一个字母?

时间:2016-09-05 10:42:50

标签: python class inheritance

我已尝试在线搜索此问题,但因为“#34; object"是如此常见,我得到了许多无关的结果,而不是我正在寻找的结果。我还查看了这里的官方文档:https://docs.python.org/3/tutorial/classes.html并没有找到任何解释。所以,当你读到这个问题时,请不要惊慌失措。

问题:

在Python中声明一个新类时,我们扩展了对象类。例如:

class SomeClass(object):
    #eggs and ham etc

在这里,我们注意到SomeClass有一个大写字母S,因为我们正在追随骆驼案。但是,我们继承的课程 - " object"似乎没有遵循这个命名惯例。为什么对象类都是小写的?

4 个答案:

答案 0 :(得分:7)

所有Python的内置类型都有小写:int,str,unicode,float,bool等。对象类型只是其中一种。

答案 1 :(得分:5)

https://www.python.org/dev/peps/pep-0008/#class-names说:

  

班级名称

     

类名通常应使用CapWords惯例。

     

在其中,可以使用函数的命名约定   界面被记录下来并主要用作可调用的。

     

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

所有其他课程应使用CapWorlds惯例。由于call r/m16list等是内置名称,因此它们遵循此单独约定

(从我对If the convention in Python is to capitalize classes, why then is list() not capitalized? Is it not a class?的回答中复制)

答案 2 :(得分:3)

如果你去python解释器并执行此操作:

>>> object
<type 'object'>

你会看到object是一个内置类型,python中的其他内置类型也是小写的type, int, bool, float, str, list, tuple, dict, ...。例如:

>>> type.__class__
<type 'type'>
>>> object.__class__
<type 'type'>     
>>> int.__class__
<type 'type'>
>>> type.__class__
<type 'type'>
>>> int.__class__
<type 'type'>
>>> bool.__class__
<type 'type'>
>>> float.__class__
<type 'type'>
>>> str.__class__
<type 'type'>
>>> list.__class__
<type 'type'>
>>> tuple.__class__
<type 'type'>
>>> dict.__class__
<type 'type'>

所以有意义的是它们不是小写的,这种方式很容易将它们与其他类型的类区分开来

答案 3 :(得分:-4)

简短而基本的答案是,class只是python解释器用来知道什么时候需要将某个东西视为一个类的关键字,就像你如何用“def”来定义一个函数一样。它是描述以下内容的关键字。