python中init函数的注意点

__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__()

上一篇:A. Telephone Number


下一篇:封装了一个验证类