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具体是什么? 展开
def __init__(self, name):
self.name = name
学习python时候看到这个,一直不太理解这个self.name是什么意思? 是一个方法么? 后面的是name参数
那意思就是把name参数值赋给self.name 现在想知道这个self.name具体是什么? 展开
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++中指针的私有变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询