>>> class person:def setname(self,name):self.name=nameprint self.name>>> person().setname('song')song其中self.name=nameself.name是什么?是什么么类型?
3 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
self是只有在类中才会有的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。
但self的名称并不是一定的,在python中self不是关键词。在初始化函数中可以把self换成任意名字,例如myClass:
class
Person:
def
_init_(myClass,name):
myClass.name
=
name
def
printName(myClass):
print
'My name is:'
,myClass.name
p
=
Person(
'Bill'
)
print
p
那么self到底是什么意思呢?self其实和C++的this是一样的,只不过python中self在类的方法中必须以传入参数写在函数的参数列表中。它实际上是指向类的对象的一个类似于C++中指针的私有变量。
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
python中的self就相当于C++中的this指针
也就是指向对象本身的指针
self.name = name 就是当前对象的成员变量name赋值为name。
慕妹3242003
TA贡献1824条经验 获得超6个赞
python中的self就相当于C++中的this指针
也就是指向对象本身的指针
self.name = name 就是当前对象的成员变量name赋值为name
python的特性就是声明一个变量的时候不需要手动的指定类型,赋值的时候类型就自动的决定了,并且后期也可以改变。这里name是从外部传入的,所以这里的self.name的类型就是由外部传递的name类型决定的。
添加回答
举报
0/150
提交
取消