我已经知道旧式类 (class Foo()...) 和新式类 (class Foo(object)...) 之间的区别。但是,这之间有什么区别:
class Foo(object):
def __repr__(self):
return 'foo'
和
class Foo(object):
def __repr__(object):
return 'foo'
谢谢。
请您参考如下方法:
不同之处在于,在一种情况下,您将保存实例的变量称为 self,而在另一种情况下,您将其称为 object。这是唯一的区别。
self 变量在 Python 中是显式的,您可以随意调用它。 self 只是每个人为了提高可读性而使用的约定。
例如,这工作得很好:
>>> class Foo(object):
... def __init__(bippity, colour):
... bippity.colour = colour
... def get_colour(_):
... return _.colour
...
>>> f = Foo('Blue')
>>> f.get_colour()
'Blue'
但它非常令人困惑。 :)
