如何使用repr調(diào)試python程序
一般調(diào)試程序的時(shí)候都比較傾向print,利用直接打印的方法作出判斷,但是print只能打印出結(jié)果,對(duì)類(lèi)型無(wú)法作出判斷。例如:
復(fù)制代碼a = 5b = ’5’print(a)print(b)
結(jié)果為:55復(fù)制代碼對(duì)于a和b從表面看是一樣的,可能就會(huì)默認(rèn)為a == b
實(shí)則a為int類(lèi)型,b為string類(lèi)型
再用repr看看結(jié)果:
復(fù)制代碼a = 5b = ’5’print(repr(a))print(repr(b))
結(jié)果為:5’5’復(fù)制代碼對(duì)于動(dòng)態(tài)的python對(duì)象來(lái)說(shuō),利用repr也是很方便的:
復(fù)制代碼class OpenClass(object):def __init__(self, x, y):self.x = xself.y = y
obj = OpenClass(2,3)print(obj)# 結(jié)果為:<__main__.OpenClass object at 0x101cb7390>復(fù)制代碼用repr重建對(duì)象:
復(fù)制代碼class OpenClass(object):def __init__(self, x, y):self.x = xself.y = y
def __repr__(self):return ’OpenClass(%d,%d)’%(self.x, self.y)obj = OpenClass(2,3)print(obj)# 結(jié)果為:OpenClass(2,3)復(fù)制代碼對(duì)于print只能打印出易于閱讀的信息,而類(lèi)型則顯示不出來(lái)
repr則顯示出類(lèi)型,簡(jiǎn)明的展示出數(shù)據(jù)信息
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP新手必備的基礎(chǔ)知識(shí)2. asp文件用什么軟件編輯3. Docker 啟動(dòng)Redis 并設(shè)置密碼的操作4. CentOS郵箱服務(wù)器搭建系列——SMTP服務(wù)器的構(gòu)建( Postfix )5. PHP基礎(chǔ)之生成器4——比較生成器和迭代器對(duì)象6. JS中6個(gè)對(duì)象數(shù)組去重的方法7. vue+element開(kāi)發(fā)一個(gè)谷歌插件的全過(guò)程8. Vue axios獲取token臨時(shí)令牌封裝案例9. 通過(guò)IEAD+Maven快速搭建SSM項(xiàng)目的過(guò)程(Spring + Spring MVC + Mybatis)10. 利用CSS制作3D動(dòng)畫(huà)

網(wǎng)公網(wǎng)安備