Python中__str__和__repr__有什么区别?
内置的功能repr()和str()分别调用对象.__再版__(个体)和对象.__STR__(个体)的方法。第一个函数计算对象的正式表示形式,第二个函数返回对象的非正式表示形式。
对于整数对象,两个函数的结果相同。
>>> x = 1 >>> repr(x) '1' >>> str(x) '1'
但是,字符串对象不是这种情况。
>>> x = "Hello" >>> repr(x) "'Hello'" >>> str(x) 'Hello'
repr()字符串对象的返回值可以通过eval()函数求值并得出有效的字符串对象。但是,str()无法评估的结果。
>>> y1 = repr(x) >>> eval(y1) 'Hello' >>> y2 = str(x) >>> eval(y2) NameError: name 'Hello' is not defined
总结一下。repr()返回对象的默认且明确的表示形式,其中str()给出的非正式表示形式可能是可读的,但不一定总是明确的。
热门推荐
6 聚餐会祝福语简短
10 给婴儿祝福语简短的话
11 下雨开工吉祥祝福语简短
12 虎年台词祝福语大全简短
13 送笔筒的祝福语简短
14 新婚祝福语大全简短精炼
15 身体康复的祝福语简短
16 国庆求婚祝福语简短精辟
17 信耶稣的人祝福语简短
18 初升高祝福语家长简短