关于在python中self是什么呢?有知道的吗?

>>> class person:
def setname(self,name):
self.name=name
print self.name

>>> person().setname('song')
song

其中self.name=name
self.name是什么?是什么么类型?

BIG阳
浏览 213回答 3
3回答

慕婉清6462132

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++中指针的私有变量。

翻过高山走不出你

python中的self就相当于C++中的this指针也就是指向对象本身的指针self.name = name 就是当前对象的成员变量name赋值为name。

慕妹3242003

python中的self就相当于C++中的this指针也就是指向对象本身的指针self.name = name 就是当前对象的成员变量name赋值为namepython的特性就是声明一个变量的时候不需要手动的指定类型,赋值的时候类型就自动的决定了,并且后期也可以改变。这里name是从外部传入的,所以这里的self.name的类型就是由外部传递的name类型决定的。
打开App,查看更多内容
随时随地看视频慕课网APP