python語言的特點(diǎn) 為什么Python類的方法需要加self作為第一個參數(shù)?
為什么Python類的方法需要加self作為第一個參數(shù)?初始化類后,您將獲得一個實(shí)例。Self是用于表示對的初始化的實(shí)例。顯式地寫一個self參數(shù),這樣類的方法和普通函數(shù)在本質(zhì)上沒有區(qū)別,所有的輸入?yún)?/p>
為什么Python類的方法需要加self作為第一個參數(shù)?
初始化類后,您將獲得一個實(shí)例。Self是用于表示對的初始化的實(shí)例。顯式地寫一個self參數(shù),這樣類的方法和普通函數(shù)在本質(zhì)上沒有區(qū)別,所有的輸入?yún)?shù)都顯式地傳遞給方法/函數(shù)。當(dāng)然,作為一個類的方法,作用
要簡單:函數(shù)和方法的區(qū)別
1。函數(shù)應(yīng)該手動傳遞給self,但是方法不應(yīng)該被傳遞
2。如果是函數(shù),應(yīng)該用類名調(diào)用;如果是方法,應(yīng)該用對象調(diào)用
函數(shù)和方法的本質(zhì)是函數(shù)的抽象。類是抽象數(shù)據(jù)類型的具體實(shí)現(xiàn),類由屬性方法組成。方法的第一個參數(shù)是默認(rèn)的self。
python中的函數(shù)和方法有什么區(qū)別?
對于普通方法,第一個參數(shù)需要是self,它表示特定實(shí)例本身。如果使用靜態(tài)方法,則可以忽略self并將該方法用作普通函數(shù)。對于classmethod,第一個參數(shù)是CLS,而不是self,它表示類本身。>>> A類(對象):def foo1(self):打印“Hello”self@staticmethoddefFoo2():print“Hello”@classmethoddef foo3(CLS):print“Hello”,CLS>>>> a=a()>>> a。foo1()#是最常見的調(diào)用方式,但與下面的Hello方式相同