Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,(对象)在类名旁边做什么?_Python_Class_Object - Fatal编程技术网

在python中,(对象)在类名旁边做什么?

在python中,(对象)在类名旁边做什么?,python,class,object,Python,Class,Object,在python中声明类时,我经常看到类名称旁边写着(object) class someClass(object): def __init__(self, some_variable): ... ... 这和下面写的一样吗 class someClass: # didn't write (object) here. def __init__(self, some_variable): ... ... 我看不出它们在功能上有什么不

在python中声明类时,我经常看到类名称旁边写着
(object)

class someClass(object):
    def __init__(self, some_variable):
        ...
    ...
这和下面写的一样吗

class someClass: # didn't write (object) here.
    def __init__(self, some_variable):
        ...
    ...

我看不出它们在功能上有什么不同。这只是澄清
someClass
对象的
子类的一种方式吗?当我创建一个
时,显式地编写
对象
是一个好的实践吗

在python 3.x中,当您声明:

class C:
    def __init__(self):
        ...
它隐式地从
对象继承


有关更多信息,请访问Python 2中的,使
someClass
成为
object
的子类将
someClass
变成一个“新样式的类”,而没有
(object)
它只是一个“经典类”。有关它们之间差异的信息,请参阅或;简单的回答是,您应该始终使用新样式的类来实现它们带来的好处


在Python3中,所有类都是“新样式”,编写
(object)
是多余的。

我喜欢@jwodder的解释。就最佳实践而言,我倾向于显式使用
(object)
,这样我的代码就可以与Python2.x和Python3一起使用,而不会产生太大的混乱。