一、 引言
凡是面向对象设计的语言,在类实例化时都有构造方法,很多语言的构造方法名与类名一致,Python中类的构造方法比较特殊,必须是__init__特殊方法。
二、 语法释义
1. 语法:__init__(self,*args,**kwargs)
其中:
1) self为创建的实例,由Python自动传入。
各位看官注意:
1>关于self在此不进行详细介绍,如果需要了解请参考本博《第7.5节 揭开Python类中self的面纱》。这里self表示实例自身,从这里可以看出,调用构造方法时,实例已经存在了;
2) args为实例创建时传入的非关键字参数,打包成元组tuple给函数体调用;
3) kwargs为实例创建时传入的关键字参数,形式为字典,键值为关键字参数的关键字,字典元素值为对应关键字参数的实参值。
2. 语法释义:
1) __init__ (self,*args,**kwargs)的参数是与实例定义的参数相对应的,实例定义的语法如下:
实例=类名(*args,**kwargs)
则:
a) self参数表示实例自身,也就是等号左边的“实例”,按理说在调用构造方法前实例不存在,self也不存在,为什么参数中又可以用self呢?这是由Python自动处理的,在调用构造方法前,Python会调用__new__方法创建实例,因此调用构造方法时Python已经创建了实例,具体请参见本章后面章节关于