如何使用repr調(diào)試python程序
一般調(diào)試程序的時候都比較傾向print,利用直接打印的方法作出判斷,但是print只能打印出結(jié)果,對類型無法作出判斷。例如:
復(fù)制代碼
a = 5
b = '5'
print(a)
print(b)
結(jié)果為:
5
5
復(fù)制代碼
對于a和b從表面看是一樣的,可能就會默認為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)文章
Gradio機器學(xué)習(xí)模型快速部署工具應(yīng)用分享前篇
這篇文章主要為大家介紹了Gradio機器學(xué)習(xí)模型快速部署工具應(yīng)用分享前篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04解決Scrapy安裝錯誤:Microsoft Visual C++ 14.0 is required...
下面小編就為大家?guī)硪黄鉀QScrapy安裝錯誤:Microsoft Visual C++ 14.0 is required...的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10python 解決flask uwsgi 獲取不到全局變量的問題
今天小編就為大家分享一篇python 解決flask uwsgi 獲取不到全局變量的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12