如何使用repr調(diào)試python程序
一般調(diào)試程序的時(shí)候都比較傾向print,利用直接打印的方法作出判斷,但是print只能打印出結(jié)果,對(duì)類型無(wú)法作出判斷。例如:
復(fù)制代碼
a = 5
b = '5'
print(a)
print(b)
結(jié)果為:
5
5
復(fù)制代碼
對(duì)于a和b從表面看是一樣的,可能就會(huì)默認(rèn)為a == b
實(shí)則a為int類型,b為string類型
再用repr看看結(jié)果:
復(fù)制代碼
a = 5
b = '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 = x
self.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 = x
self.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)
repr則顯示出類型,簡(jiǎn)明的展示出數(shù)據(jù)信息
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中生成一個(gè)指定長(zhǎng)度的隨機(jī)字符串實(shí)現(xiàn)示例
這篇文章主要介紹了Python中生成一個(gè)指定長(zhǎng)度的隨機(jī)字符串,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python如何實(shí)現(xiàn)守護(hù)進(jìn)程的方法示例
護(hù)進(jìn)程:通常被定義為一個(gè)后臺(tái)進(jìn)程,而且它不屬于任何一個(gè)終端會(huì)話(terminal session)。許多系統(tǒng)服務(wù)由守護(hù)程序?qū)嵤蝗缇W(wǎng)絡(luò)服務(wù),打印等。 下面這篇文章給大家分享了Python是如何實(shí)現(xiàn)守護(hù)進(jìn)程的方法示例,需要的朋友可以參考借鑒。2017-02-02
python對(duì)日志進(jìn)行處理的實(shí)例代碼
本篇文章給大家分享了關(guān)于python處理日志的方法以及相關(guān)實(shí)例代碼,有興趣的朋友們學(xué)習(xí)下。2018-10-10
使用pandas對(duì)矢量化數(shù)據(jù)進(jìn)行替換處理的方法
下面小編就為大家分享一篇使用pandas對(duì)矢量化數(shù)據(jù)進(jìn)行替換處理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Python中optparser庫(kù)用法實(shí)例詳解
這篇文章主要介紹了Python中optparser庫(kù)用法實(shí)例詳解,介紹了optparser的引入,初始化等相關(guān)內(nèi)容,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
python使用Berkeley DB數(shù)據(jù)庫(kù)實(shí)例
這篇文章主要介紹了python使用Berkeley DB數(shù)據(jù)庫(kù)的方法,以實(shí)例形式講述了完整的操作過(guò)程,并總結(jié)了具體的操作步驟,非常具有實(shí)用性,需要的朋友可以參考下2014-09-09
Python3 tkinter 實(shí)現(xiàn)文件讀取及保存功能
tkinter是一個(gè)跨平臺(tái)的GUI庫(kù),開發(fā)的程序可以在win,linux或者mac下運(yùn)行,tkinter是python自帶的GUI庫(kù),是對(duì)圖形庫(kù)TK的封裝。本文通過(guò)實(shí)例代碼給大家介紹Python3 tkinter 實(shí)現(xiàn)文件讀取及保存功能,感興趣的朋友跟隨小編一起看看吧2019-09-09

