在python中,(对象)在类名旁边做什么?
在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): ... ... 我看不出它们在功能上有什么不
(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一起使用,而不会产生太大的混乱。