如何使用repr除錯python程式
阿新 • • 發佈:2020-02-28
一般除錯程式的時候都比較傾向print,利用直接列印的方法作出判斷,但是print只能打印出結果,對型別無法作出判斷。例如:
複製程式碼
a = 5
b = '5'
print(a)
print(b)
結果為:
5
5
複製程式碼
對於a和b從表面看是一樣的,可能就會預設為a == b
實則a為int型別,b為string型別
再用repr看看結果:
複製程式碼
a = 5
b = '5'
print(repr(a))
print(repr(b))
結果為:
5
'5'
複製程式碼
對於動態的python物件來說,利用repr也是很方便的:
複製程式碼
class OpenClass(object):
self.x = x
self.y = y
obj = OpenClass(2,3)
print(obj)
# 結果為:<__main__.OpenClass object at 0x101cb7390>
複製程式碼
用repr重建物件:
複製程式碼
class OpenClass(object):
def __init__(self,y):
self.x = x
self.y = y
def __repr__(self):
return 'OpenClass(%d,%d)'%(self.x,self.y)
obj = OpenClass(2,3)
# 結果為:OpenClass(2,3)
複製程式碼
對於print只能打印出易於閱讀的資訊,而型別則顯示不出來
repr則顯示出型別,簡明的展示出資料資訊
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。