lizh 发表于 2018-8-14 10:05:37

Python 格式化字符%r与%s的区别

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

[*]  %sstr(),比较智能;
[*]  %rrepr(),处理较为简单和直接;
  处理一些简单对象时,二者几乎没有差别,本文重点列举一些二者的差异化用法:
1. 处理字符串时   
  >>> t="handsome"
  >>> print " I'm %s" %t
  I'm handsome
  >>> print " I'm %r" %t
  I'm 'handsome'
  >>>
  >>> str(t)
  'handsome'
  >>> repr(t)
  "'handsome'"
  >>>
2. datetime 库中的 datetime 对象
  >>> from datetime import datetime
  >>> timeinfo = datetime.today()
  >>> timeinfo
  datetime.datetime(2017, 6, 19, 16, 29, 22, 396000)
  >>> type(timeinfo)
  <type 'datetime.datetime'>
  >>>
  >>> repr(timeinfo)
  'datetime.datetime(2017, 6, 19, 16, 29, 22, 396000)'
  >>> str(timeinfo)
  '2017-06-19 16:29:22.396000'
  >>>
页: [1]
查看完整版本: Python 格式化字符%r与%s的区别