类Classname(object),什么样的单词是';对象';用Python?
当我创建一个具有唯一内容的模块时:类Classname(object),什么样的单词是';对象';用Python?,python,object,keyword,Python,Object,Keyword,当我创建一个具有唯一内容的模块时: class Classname(randomobject): pass 我试着运行模块的.py文件,解释器说,randomobject没有定义 但当我这样做的时候: class Classname(object): pass 模块运行正常。因此,如果对象不是关键字,那么它是什么?对象是指内置类型的标识符 与许多其他语言不同,Python中没有基元类型。一切都是一个对象,包括所有数据类型 我不确定您为什么希望从randomobject进行继承
class Classname(randomobject):
pass
我试着运行模块的.py文件,解释器说,randomobject
没有定义
但当我这样做的时候:
class Classname(object):
pass
模块运行正常。因此,如果
对象
不是关键字,那么它是什么?对象
是指内置类型的标识符
与许多其他语言不同,Python中没有基元类型。一切都是一个对象,包括所有数据类型
我不确定您为什么希望从
randomobject
进行继承。object
是在Python 2中创建新样式类时从中继承的基类。object
是一个(全局)变量。默认情况下,它绑定到一个内置类,该类是类型层次结构的根
(这导致了一个有趣的属性,您可以采用任何内置类型,并使用\uuuu base\uuu
属性来访问名为object的类型)
所有不是关键字或运算符的内置内容都是标识符。以下三个类声明在Python3中是相同的
class Classname(object):
pass
class Classname():
pass
class Classname:
pass
好吧,会有一些小的,但不是根本上重要的,因为对象类是所有对象的基础
如果您计划编写Python不可知代码(Python2和Python3不可知),您可以使用第一个声明。但是,在Python3.x中不必这样做。新样式类是默认的。在Python3中,所有类仍然从object继承。另外,“对象的类型”是一个标识符;我的意思是,
object
在Python中没有特殊的语法或语义意义,比如说,int
在Java中有特殊的语法或语义意义。严格地说,“对象的单词类型”是一个变量,因此。更新的答案反映了这一点。谢谢。我想你不能查看这个全局变量的代码?@Bentley4我不知道你的意思。对不起。在/usr/lib/python2.7中可以找到标准的python模块。通过自己打开python文件,您可以看到使用help函数无法看到的变量分配、类和函数体等模块。有没有办法访问内置模块并查看该模块中的对象变量?@Bentley4我从未尝试过。考虑一下贪婪;如果没有,您必须在C源代码中找到它。这里还有一个问题,它解决了Python对象
标识符:。对于记录,它不是重复的。这是关于遗传的机制;这个问题是关于正在发生的事情的句法结构,并且有多种答案。