Python类名称后面, 什么时候需要写参数, 什么时候不需要?

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

回到顶部