__init__()相当于C++中的构造函数,创建实例的时候自动调用,使用过程中,我发现要注意以下几点
1.一个类中只能有一个init函数,我定义了两个参数不同的init函数,似乎它只认后面一个,这个跟C++中的构造函数不同。
class TelePhone(): def __init__(self): self.lag="english" print "默认语言是英文" def __init__(self,lag): self.lag=lag print "默认语言设置为",lag TelePhone() #结果 Traceback (most recent call last): File "C:/Python27/class1.py", line 9, in <module> TelePhone() TypeError: __init__() takes exactly 2 arguments (1 given) >>>
2.init函数中必须包含参数self作为第一个参数,self参数是一个指向实例本身的引用,用于访问类中的属性和方法。
3.在派生类中定义init方法,不会自动调用基类的init方法,如果要派生类调用基类,则是在派生类中使用super().__init__()