我在某些代码上运行了pylint,并对旧式课程提出了投诉。
我可以通过简单地改变:
来纠正这个问题class MyClass:
为:
class MyClass(object):
还是有更多的参与?
答案 0 :(得分:2)
在Python 2中,编写
class MyClass(object):
就足够了。或者你切换到Python 3,其中
class MyClass:
会没事的。
继承列表通常提供基类列表(请参阅自定义类创建以获得更高级的用法),因此列表中的每个项目都应评估为允许子类化的类对象。默认情况下,没有继承列表的类从基类对象继承;因此
class Foo:
pass
相当于
class Foo(object):
pass
另请参阅:https://docs.python.org/3/reference/compound_stmts.html#class
另外,正如@Kevin在评论中指出的那样,方法解析并不简单,并且在使用多重继承时可能会导致意外行为:http://python-history.blogspot.com/2010/06/method-resolution-order.html