最近在整理python面向对象的知识, 看了些网上不同的资料, 然发现一个小问题: 有的例子里面, 类名称后面写有参数, 有的没写.
所以很奇怪, Python类名称后面, 什么时候需要写参数, 什么时候不需要? 判断标准是什么呢?
比如下面两个例子, 都可以正常运行, 更加疑惑了.
# 父类类名, 不带参数.
class Animal():
def run(self):
print('父类, Animal is running...')
class Dog(Animal):
def run(self):
print('Dog is running...')
def eat(self):
print('Eating meat...')
class Cat(Animal):
pass
dog = Dog()
dog.run()
cat = Cat()
cat.run()
# 父类类名后面, 带参数.
class Animal(object):
def run(self):
print('父类, Animal is running...')
class Dog(Animal):
def run(self):
print('Dog is running...')
def eat(self):
print('Eating meat...')
class Cat(Animal):
pass
dog = Dog()
dog.run()
cat = Cat()
cat.run()
对于没有父类的类,不需要加括号或者加 object
这种都是 python2 的写法,python3可以兼容,但是没有意义
python3 只要