python的init中的self问题具体是什么?

classPerson:def__init__(self,name):self.name=name学习python时候看到这个,一直不太理解这个self.name是什么意... class Person:
def __init__(self, name):
self.name = name
学习python时候看到这个,一直不太理解这个self.name是什么意思? 是一个方法么? 后面的是name参数

那意思就是把name参数值赋给self.name 现在想知道这个self.name具体是什么?
展开
 我来答
百度网友ca331e8a
推荐于2019-11-15 · TA获得超过1.4万个赞
知道小有建树答主
回答量:243
采纳率:82%
帮助的人:7.1万
展开全部

__init__()是类的构造函数,在建立对象时调用。self是对“对象”自身的引用。相当于c++中的this。



python规定:访问类成员时,需要在前面加上this。这里,this.name = name表示为Person类添加了属性name。



如果变量前不加this,则视为局部变量。这个变量会在方法运行结束后失效。而属性在整个类的范围内都是有效的。

self是只有在类中才会有的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。

但self的名称并不是一定的,在python中self不是关键词。在初始化函数中可以把self换成任意名字,例如myClass: 


  

class Person:    def _init_(myClass,name):        myClass.name=name    def printName(myClass):        print 'My name is:',myClass.namep=Person('Bill')print p

  • 那么self到底是什么意思呢?self其实和C++的this是一样的,只不过python中self在类的方法中必须以传入参数写在函数的参数列表中。它实际上是指向类的对象的一个类似于C++中指针的私有变量。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式