MyEyes

Logging my life

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1. self

  类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。Python中的self等价于C++中的self指针和Java、C#中的this参考。

  你一定很奇怪Python如何给self赋值以及为何你不需要给它赋值。举一个例子会使此变得清晰。假如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候,这会由Python自动转为MyClass.method(MyObject, arg1, arg2)——这就是self的原理了。

2. 使用对象的方法

#! /apps/android/python2.6/bin/python

class person:
def sayHi(self): //对象的方法,需要默认参数self
print 'we are friends'

p = person() //new 一个新对象出来
p.sayHi()      // 调用类得方法,在调用时,没有任何参数,而在方法定义时,有参数self!

3. __init__方法

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

  __init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的初始化 。__init__方法类似于C++、C#和Java中的构造函数。 

#! /apps/android/python2.6/bin/python

class person:
def __init__(self, _name): // init方法就是python的构造函数
self.name = _name // _name是类在构造时,给的默认参数,而self.name是类自己定义的一个变量,在其他方法可以调用到该值
def sayHi(self):
print 'we are friends', self.name

p = person('Jiajia')
p.sayHi()

posted on 2011-10-25 13:41  MyEyes  阅读(334)  评论(0编辑  收藏  举报