这就是我定义课程的方式:
class Foo():
def __init__(self, a, b):
self.a = a
self.b = b
因此,在定义类时,要传递初始化的参数位于__init__
方法之后的括号中。
我的问题是,在Foo
名称之后的括号中应该是什么,或者是什么意思。
我环顾四周,但到目前为止我能找到的所有内容都没有在这些括号中放置任何内容,或者已经放入了某些东西,但是没有解释原因。< / p>
提前致谢!
答案 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