Python中的类在声明的时候继承object的原因

2020-06-16 15:30:45 浏览数 (1)

代码语言:javascript复制
首先说明python3中无论写不写(object),默认的会自动带上,所以在python3中写不写都一样
class Student1:
    pass

class Student2(object):
    pass
print(dir(Student1()))
print(dir(Student2()))
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
可以看出两个的所具有相同的属性,因为继承了object
若不继承则只有__doc__ , __module__ 这两个属性,因为上边的属性,我们都要使用,所以一般是继承的。

0 人点赞