Chinaunix首页 | 论坛 | 博客
  • 博客访问: 33237
  • 博文数量: 23
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 235
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-23 15:00
文章分类

全部博文(23)

文章存档

2011年(1)

2009年(22)

我的朋友
最近访客

分类: Python/Ruby

2009-06-15 14:17:36

 

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

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

使用__init__方法

例11.3 使用__init__方法

#!/usr/bin/python
# Filename: class_init.py


class Person:
     def __init__
(self, name):
         self.name = name

     def sayHi(self):
         print 'Hello, my name is', self.name

p = Person('Swaroop'
)
p.sayHi()


# This short example can also be written as Person('Swaroop').sayHi()

(源文件:code/class_init.py)

输出

$ python class_init.py
Hello, my name is Swaroop

它如何工作

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

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

现在,我们能够在我们的方法中使用self.name域。这在sayHi方法中得到了验证。

给C++/Java/C#程序员的注释
__init__方法类似于C++、C#和Java中的 constructor

 

阅读(543) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~