__str__的用法
在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法
當(dāng)使用print輸出對(duì)象的時(shí)候,只要自己定義了__str__(self)方法,那么就會(huì)打印從在這個(gè)方法中return的數(shù)據(jù)
e.g1
class Cat:
"""定義了一個(gè)Cat類(lèi)"""
#初始化對(duì)象
def __init__(self, new_name, new_age):
self.name = new_name
self.age = new_age
def __str__(self):
return "%s的年齡是:%d"%(self.name, self.age)
#創(chuàng)建一個(gè)對(duì)象
tom = Cat("湯姆", 40)
lanmao = Cat("藍(lán)貓", 10)
print(tom)
print(lanmao)
e.g2
class Book:
def __init__(self, name, author, comment, state = 0):
self.name = name
self.author = author
self.comment = comment
self.state = state
# 創(chuàng)建一個(gè)Book類(lèi)的子類(lèi) FictonBook
class FictonBook(Book):
def __init__(self,name, author, comment, state = 0,type = '虛構(gòu)類(lèi)'):
self.type = type
Book.__init__(self, name, author, comment, state = 0)
# 繼承并定制父類(lèi)的初始化方法,增加默認(rèn)參數(shù) type = '虛構(gòu)類(lèi)',讓程序能夠順利執(zhí)行。
def __str__(self):
status = '未借出'
if self.state == 1:
status = '已借出'
return '類(lèi)型:%s 名稱(chēng):《%s》 作者:%s 推薦語(yǔ):%s\n狀態(tài):%s ' % (self.type, self.name, self.author, self.comment, status)
book = FictonBook('囚鳥(niǎo)','馮內(nèi)古特','我們都是受困于時(shí)代的囚鳥(niǎo)')
print(book)
'''
讓打印的結(jié)果為:
類(lèi)型: 虛構(gòu)類(lèi) 名稱(chēng):《囚鳥(niǎo)》 作者:馮內(nèi)古特 推薦語(yǔ):我們都是受困于時(shí)代的囚鳥(niǎo)
狀態(tài):未借出
'''
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
