我已尝试在线搜索此问题,但因为“#34; object"是如此常见,我得到了许多无关的结果,而不是我正在寻找的结果。我还查看了这里的官方文档:https://docs.python.org/3/tutorial/classes.html并没有找到任何解释。所以,当你读到这个问题时,请不要惊慌失措。
问题:
在Python中声明一个新类时,我们扩展了对象类。例如:
class SomeClass(object):
#eggs and ham etc
在这里,我们注意到SomeClass
有一个大写字母S,因为我们正在追随骆驼案。但是,我们继承的课程 - " object
"似乎没有遵循这个命名惯例。为什么对象类都是小写的?
答案 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/m16
,list
等是内置名称,因此它们遵循此单独约定。
答案 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”来定义一个函数一样。它是描述以下内容的关键字。