很多书和资料都把__init__视为python class实例的构造器,如果你是学习静态语言比如java/Csharp或者c++出身的,你会发现__init__与静态语言的构造器有很大出入,换句话说,如果你真的以为__init__就是constructor,那你可能会被下面的诡异现象逼疯,按照诡异程度,依次为:
- 1.构造器执行时,实例已经被构造好了???
- 2.子类实例化时,父类的构造器可以被不调用???
- 3.构造器可以继承???
一条条的说:
1. 这个是首先被注意到的,self是什么鬼?:
class Base:
def __init__(self, a, b=1):
print("Base __init__")
都说self是实例方法被调用时,解释器自动传入指向当前实例的指针。那么&#