在类的名称后面的括号中会有哪些参数?

时间:2014-02-19 16:32:09

标签: python class definition

这就是我定义课程的方式:

class Foo():
    def __init__(self, a, b):
        self.a = a
        self.b = b

因此,在定义类时,要传递初始化的参数位于__init__方法之后的括号中。

我的问题是,在Foo名称之后的括号中应该是什么,或者是什么意思。

我环顾四周,但到目前为止我能找到的所有内容都没有在这些括号中放置任何内容,或者已经放入了某些东西,但是没有解释原因。< / p>

提前致谢!

2 个答案:

答案 0 :(得分:4)

正如@Christian所提到的,您可以在括号内指定Foo的超类:

class Bar: pass
class Foo(Bar): #Foo is subclass of Bar now
    pass

默认情况下,如果Foo未继承任何类,则只需省略()

class Foo: #this creates old-style classes in python2, which is not suggested
    ....

通常,我们在编写自定义类时继承自object(在python2中)以创建new-style classes

class Foo(object):
    ....

答案 1 :(得分:1)

在类名之后进入括号的参数是要继承的类的名称。

    class Parent:
        pass

    class Child(Parent):
        pass