如何使用repr調試python程序
一般調試程序的時候都比較傾向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'
復制代碼
對于動態(tài)的python對象來說,利用repr也是很方便的:
復制代碼
class OpenClass(object):
def __init__(self, x, y):
self.x = x
self.y = y
obj = OpenClass(2,3)
print(obj)
# 結果為:<__main__.OpenClass object at 0x101cb7390>
復制代碼
用repr重建對象:
復制代碼
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)
# 結果為:OpenClass(2,3)
復制代碼
對于print只能打印出易于閱讀的信息,而類型則顯示不出來
repr則顯示出類型,簡明的展示出數據信息
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

