Python类名称后面, 什么时候需要写参数, 什么时候不需要?
最近在整理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
python">class Animal(): def run(self):
print('父类, Animal is running...')
class Animal(object):
def run(self):
print('父类, Animal is running...')
这种都是 python2 的写法,python3可以兼容,但是没有意义
python3 只要
class Animal: def run(self):
print('父类, Animal is running...')
回答:
括号里事基类。括号是空的就是没有基类(或者说,基类是 object)。
所以你的例子,第一个大家都是无关的类。
因为每一个类都定义了自己的 run
,所以看起来是一样的。你把除了 Animal
之外的其他类里的 run
删了,就看到不同了。
以上是 Python类名称后面, 什么时候需要写参数, 什么时候不需要? 的全部内容, 来源链接: utcz.com/p/938490.html