您的位置:首页 > 编程语言 > Python开发

Python 格式化输出 —— %r 与 %s 的区别(__repr__ 与 __str__)

2016-06-07 21:19 651 查看
Python 格式化输出

在进行格式化输出时,%r 与 %s 的区别就好比 repr() 函数处理对象与 str() 函数处理对象的差别。

%s ⇒ str(),比较智能;

%r ⇒ repr(),处理较为简单和直接;

处理一些简单对象时,二者几乎没有差别,本文重点列举一些二者的差异化用法:

1. 处理字符串时

>> s = 'world'

>> print('hello %s'%s)
hello world
>> print('hello %r'%s)
hello 'world'

>> str(s)
'world'
>> repr(s)
"'world'"


2. datetime 库中的 datetime 对象

>> from datetime import datetime
>> timeinfo = datetime.today()

>> timeinfo
datetime.datetime(2016, 6, 7, 21, 17, 34, 925488)
>> type(timeinfo)
datetime.datetime

>> repr(timeinfo)
'datetime.datetime(2016, 6, 7, 21, 17, 34, 925488)'
>> str(timeinfo)
'2016-06-07 21:17:34.925488'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: