第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

定義的方法是`__str__`,為什么用在實(shí)例上時(shí)不用寫(xiě)雙下劃線了?str(bob)

class?Person(object):????
def?__init__(self,?name,?gender):????????
self.name?=?name????????
self.gender?=?gender????
def?__str__(self):????????
return?'name:?{},?gender:?{}'.format(self.name,?self.gender)
bob?=?Person('Bob',?'Male')
str(bob)?#?==>?'name:?Bob,?gender:?Male'

定義的方法是`__str__`,為什么用在實(shí)例上時(shí)不用寫(xiě)雙下劃線了?

正在回答

2 回答

你這完全搞錯(cuò)了,__str__是object對(duì)象的內(nèi)置函數(shù),而str()是python全局的一個(gè)內(nèi)置函數(shù),這兩個(gè)不是一個(gè)函數(shù)

在使用? ? ?str(a)? ? ?時(shí)等價(jià)于? ? a.__str__()? ? ? ,即str方法會(huì)去調(diào)用對(duì)象的內(nèi)置函數(shù)__str__.

這里你可能會(huì)問(wèn),那為啥不寫(xiě)a.__str__(),而是寫(xiě)成str(a)。因?yàn)榱?xí)慣規(guī)定雙下劃線的為私有級(jí)別,不建議直接調(diào)用,而且個(gè)人覺(jué)得寫(xiě)起來(lái)代碼也不好看

3 回復(fù) 有任何疑惑可以回復(fù)我~

這沒(méi)啥原理,創(chuàng)始人定的。他開(kāi)頭怎么定,后人跟著怎么走。就像‘’我愛(ài)你‘’為什么代表我愛(ài)你,而不是‘’去吃飯‘’代表我愛(ài)你,都是無(wú)解的。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

定義的方法是`__str__`,為什么用在實(shí)例上時(shí)不用寫(xiě)雙下劃線了?str(bob)

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)