您好,登錄后才能下訂單哦!
一般調試程序的時候都比較傾向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):
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則顯示出類型,簡明的展示出數據信息
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。