Python类中self的作用
2014-05-16 14:06
197 查看
摘自论坛:
self:是指向你新创建对象实例的引用,在这个地方指向你创建的Person类的实例p。当你调用Person类创建实例时,self指的就是你这个P,所以这个地方p=Person('tianya')应该为:p=Person(self,'tianya'),只不过Python自动替你加上而已。:),当你用init进行初始化时,那个self.name实际上就会被p.name所代替,同样在sayhello的那个print中“print 'My name is:',p.name”如果没有self,那么指向Person类的实例P的引用如何才能调用呢?
__init__:是在类的实例被创建后才被调用的,只要用于初始化一个类的实例。当然一个类也可以没有__init__的,上面的例子中,当你创建了p以后,这个__init__会被立刻调用,会执行P.name=name,所以当你执行p=Person('tianya')时,“tianya”会被当作参数传到__init__中,执行P.name='ianya',如果你执行p.name 或者print p.name 则会显示:’tianya‘.
self:是指向你新创建对象实例的引用,在这个地方指向你创建的Person类的实例p。当你调用Person类创建实例时,self指的就是你这个P,所以这个地方p=Person('tianya')应该为:p=Person(self,'tianya'),只不过Python自动替你加上而已。:),当你用init进行初始化时,那个self.name实际上就会被p.name所代替,同样在sayhello的那个print中“print 'My name is:',p.name”如果没有self,那么指向Person类的实例P的引用如何才能调用呢?
__init__:是在类的实例被创建后才被调用的,只要用于初始化一个类的实例。当然一个类也可以没有__init__的,上面的例子中,当你创建了p以后,这个__init__会被立刻调用,会执行P.name=name,所以当你执行p=Person('tianya')时,“tianya”会被当作参数传到__init__中,执行P.name='ianya',如果你执行p.name 或者print p.name 则会显示:’tianya‘.
相关文章推荐
- Python3中的self的作用
- Python中__init__和self的意义和作用
- Python中的类中self的作用
- python中self的作用
- ruby self与作用域
- 对于python中的self,cls,decorator的理解
- Python模块包中__init__.py文件的作用(转载)
- python self __init__
- Python模块包中__init__.py文件的作用
- python __main__ 和self代表什么 ?
- Python为什么要self
- Python模块包中__init__.py文件的作用
- 对于python中的self,cls,decorator的理解
- python __str__(self) __unicode__(self)
- 简明python教程 --C++程序员的视角(二):函数及作用域
- 深入理解python之self
- python里的self
- python中类中函数参数self
- python中的this——self
- python 新手问题 r 的作用