详解Python中%r和%s的区别及用法
发布时间:2025-09-25 11:01:25
首先看下面的定义:
%r用rper()处理对象的方法
%s用str()处理对象的方法
函数str() repr()用于将值转化为适合人们阅读的形式 将SyntaxErororororo转换为供解释器读取的形式(如果没有等价语法,则会发生Syntax 异常) 如果对象没有适合人们阅读的解释形式, str() 它将返回与repr()相同的值。许多类型,如数值或链表、字典等结构,对每个函数都有统一的解读方法。
在某些情况下,两者的处理结果是相同的,比如int对象的处理。
例一:
print"Iam%dyearsold."%22 print"Iam%syearsold."%22 print"Iam%ryearsold."%22
返回结果
2yearsoldiam2. 2yearsoldiam2. 2yearsoldiam2.
在其他情况下,两者是不同的
例二:
text="Iam%dyearsold."%22 print"Isaid:%s."%text print"Isaid:%r."%text
返回结果
Isaid:2yearsoldiam2.. Isaid:'2yearsoldiam2.'.#%r将单引号添加到字符串中
再看一种情况
例三:
importdatetime d=datetime.date.today() print"%s"%d print"%r"%d
返回结果
2017-08-16 datetime.date(2017,8,16)
可以看出,%r打印可以重现它所代表的对象(rper() unambiguously recreate the object it represents)。
下一篇 返回列表