文章内容

2017/8/19 13:53:41,作 者: 黄兵

def __init__

在Python 的类中有很多方法的名字有特殊的重要意义。现在我们将学习__init__方法的意义。

__init__ 方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的初始化。注意,这个名称的开始和结尾都是双下划线。

例子:

1 #!/usr/bin/python
2 # Filename: class_init.py
3
4 class Person:
5 def __init__(self, name):
6 self.name = name
7 def sayHi(self):
8 print('Hello, my name is', self.name)
9
10 p = Person('Swaroop')
11 p.sayHi()
12
13 # This short example can also be written as Person('Swaroop').sayHi()

输出:

1 $ python class_init.py
2 Hello, my name is Swaroop

如何工作:

这里,我们把__init__ 方法定义为取一个参数name(以及普通的参数self)。在这个__init__ 里,我们只是创建一个新的域,也称为name。注意它们是两个不同的变量,尽管它们有相同的名字。点号使我们能够区分它们。

最重要的是,我们没有专门调用__init__ 方法,只是在创建一个类的新实例的时候,把参数包括在圆括号内跟在类名后面,从而传递给__init__ 方法。这是这种方法的重要之处。

现在,我们能够在我们的方法中使用self.name 域。这在sayHi 方法中得到了验证。(译者注:__init__ 方法相当于C++,Java,C# 中的构造函数)。

分享到:

发表评论

评论列表