BIG陽
2022-02-18 11:11:35
>>> class person:def setname(self,name):self.name=nameprint self.name>>> person().setname('song')song其中self.name=nameself.name是什么?是什么么類型?
3 回答

慕婉清6462132
TA貢獻1804條經(jīng)驗 獲得超2個贊
self是只有在類中才會有的。self在定義類的方法時是必須有的,雖然在調用時不必傳入相應的參數(shù)。
但self的名稱并不是一定的,在python中self不是關鍵詞。在初始化函數(shù)中可以把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在類的方法中必須以傳入?yún)?shù)寫在函數(shù)的參數(shù)列表中。它實際上是指向類的對象的一個類似于C++中指針的私有變量。

翻過高山走不出你
TA貢獻1875條經(jīng)驗 獲得超3個贊
python中的self就相當于C++中的this指針
也就是指向對象本身的指針
self.name = name 就是當前對象的成員變量name賦值為name。

慕妹3242003
TA貢獻1824條經(jīng)驗 獲得超6個贊
python中的self就相當于C++中的this指針
也就是指向對象本身的指針
self.name = name 就是當前對象的成員變量name賦值為name
python的特性就是聲明一個變量的時候不需要手動的指定類型,賦值的時候類型就自動的決定了,并且后期也可以改變。這里name是從外部傳入的,所以這里的self.name的類型就是由外部傳遞的name類型決定的。
添加回答
舉報
0/150
提交
取消