一般除錯程式的時候都比較傾向print,利用直接列印的方法作出判斷,但是print只能列印出結果,對型別無法作出判斷。例如:
複製**
a = 5
b = '5'
print(a)
print(b)
結果為:55
複製**
對於a和b從表面看是一樣的,可能就會預設為a == b
實則a為int型別,b為string型別
再用repr看看結果:
複製**
a = 5
b = '5'
print(repr(a))
print(repr(b))
結果為:
5'5'
複製代www.cppcns.com碼
對於動態的python物件來說rrazg,利用repr也是很方便的:
複製**
class openclass(object):
def __init__(self, x, rrazgy):
self.x = x
self.y = y
obj = openclass(2,3)
print(obj)
# 結果為:<__main__.openclass object at>
複製**
用repr重建物件:
複製**
class openclass(object):
def __init__(self, x, y):
self.x = x
self.y = y
def __repr__(swww.cppcns.comelf):
return 'openclass(%d,%d)'%(self.x, self.y)
obj = openclass(2,3)
print(obj)
# 結果為:openclass(2,3)
複製**
對於print只能列印出易於閱讀的資訊,而型別則顯示不出來
repr則顯程式設計客棧示出型別,簡明的展示出資料資訊
本文標題: 如何使用repr除錯python程式
本文位址:
Linux下使用pdb簡單除錯python程式
linux下使用pdb簡單除錯python程式 python自帶除錯工具庫 pdb coding utf 8 def func num s num 10 return s if name main print debug starting.print 10 print debug ending nu...
如何使用pytho幫助函式和文件
python 幫助 toc 在查詢函式用法時遇到一些小問題,在此記錄,逐漸補充。參考部落格 python基礎31 help 來檢視幫助 在互動命令列下可查詢內建函式的詳細資訊 可用的檢視 help modules 檢視python所有的modules help modules yourstr 單看p...
使用pyinstaller打包python程式
使用python3.7 anaconda環境編寫了個程式,裡面使用了numpy pandas xgboost等包 想用pyinstaller打包成exe,pip install pyinstaller後無法打包成exe檔案 別人說是pyinstaller不相容python3.7 遂安裝py3.6環境...