如何使用repr調(diào)試python程序
一般調(diào)試程序的時候都比較傾向print,利用直接打印的方法作出判斷,但是print只能打印出結(jié)果,對類型無法作出判斷。例如:
復(fù)制代碼
a = 5
b = '5'
print(a)
print(b)
結(jié)果為:
5
5
復(fù)制代碼
對于a和b從表面看是一樣的,可能就會默認(rèn)為a == b
實則a為int類型,b為string類型
再用repr看看結(jié)果:
復(fù)制代碼
a = 5
b = '5'
print(repr(a))
print(repr(b))
結(jié)果為:
5
'5'
復(fù)制代碼
對于動態(tài)的python對象來說,利用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重建對象:
復(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ù)制代碼
對于print只能打印出易于閱讀的信息,而類型則顯示不出來
repr則顯示出類型,簡明的展示出數(shù)據(jù)信息
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中生成一個指定長度的隨機字符串實現(xiàn)示例
這篇文章主要介紹了Python中生成一個指定長度的隨機字符串,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
使用pandas對矢量化數(shù)據(jù)進行替換處理的方法
下面小編就為大家分享一篇使用pandas對矢量化數(shù)據(jù)進行替換處理的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
python使用Berkeley DB數(shù)據(jù)庫實例
這篇文章主要介紹了python使用Berkeley DB數(shù)據(jù)庫的方法,以實例形式講述了完整的操作過程,并總結(jié)了具體的操作步驟,非常具有實用性,需要的朋友可以參考下2014-09-09
Python3 tkinter 實現(xiàn)文件讀取及保存功能
tkinter是一個跨平臺的GUI庫,開發(fā)的程序可以在win,linux或者mac下運行,tkinter是python自帶的GUI庫,是對圖形庫TK的封裝。本文通過實例代碼給大家介紹Python3 tkinter 實現(xiàn)文件讀取及保存功能,感興趣的朋友跟隨小編一起看看吧2019-09-09

