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

為了賬號安全,請及時綁定郵箱和手機立即綁定

__repr__方法似乎沒有被調(diào)用

在定義方法時,如果__str__和__repr__方法中定義返回的語句不一樣,在運行之后,print(s)輸出的還是__srt__方法中定義的語句,這是為什么

正在回答

1 回答

關(guān)于調(diào)用兩種方法的時機

  • 使用print()時

  • 使用%s和f'{}'拼接對象時

  • 使用str(x)轉(zhuǎn)換對象x時

在上述三種場景中,會優(yōu)先調(diào)用對象的__str__()方法;若沒有,就調(diào)用__repr__()方法;若再沒有,則顯示其內(nèi)存地址。

特別地,對于下面兩種場景:

  • 用%r進行字符串拼接時

  • 用repr(x)轉(zhuǎn)換對象x時

則會調(diào)用這個對象的__repr__()方法;若沒有,則不再看其是否有__str__()方法,而是顯示其內(nèi)存地址。


class?Person(object):
????def?__init__(self,?name,?gender):
????????self.name?=?name
????????self.gender?=?gender
????????
class?Student(Person):????
????def?__init__(self,?name,?gender,?score):????????
????????super(Student,?self).__init__(name,?gender)????????
????????self.score?=?score???
????????
????def?__str__(self):????????
????????return?'Student:?{},?{},?{}'.format(self.name,?self.gender,?self.score)????
????def?__repr__(self):????????
????????return?'STUDENT:?{},?{},?{}'.format(self.name,?self.gender,?self.score)
????????
s?=?Student('Bob',?'Male',?88)

print(s)
print('%s'?%?s)
print('%r'?%?s)
print(str(s))
print(repr(s))


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

舉報

0/150
提交
取消

__repr__方法似乎沒有被調(diào)用

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

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

幫助反饋 APP下載

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

公眾號

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