优草派  >   Python

Python中%r和%s的详解及区别

马婷            来源:优草派

在Python中,%r和%s都是用来格式化字符串的常见符号,但它们在使用和输出方面还是存在一些区别的。

Python中%r和%s的详解及区别

%s打印输出的是字符串,而%r打印输出的是Python的原始表示方法。这是因为%r可以打印出字符串中的特殊字符,例如制表符、换行符和引号等,而%s只会把字符串打印出来,不会显示原始表示。以下是一个例子:

>>> s = 'Python中%r和%s的详解及区别'

>>> print(s)

Python中%r和%s的详解及区别

>>> print(%s)

TypeError: not all arguments converted during string formatting

>>> print(%r)

'Python中%r和%s的详解及区别'

在使用过程中,%r可以更精确的重现数据,不受变量类型的限制,而%s只能格式化为字符串。以下是一个例子:

>>> print(%r % (1,2,3))

(1, 2, 3)

>>> print(%s % (1,2,3))

TypeError: %d format: a number is required, not tuple

除此之外,%r还有一种用法——调试输出。在调试时,我们通常需要查看程序中的变量值,可以使用%r来输出复杂数据类型的变量,例如列表、字典和类实例等。以下是一个例子:

>>> data = {'name': 'Tom', 'age': 18}

>>> print(%r % data)

{'name': 'Tom', 'age': 18}

综上所述,%r和%s在Python中都有它们的使用场景,使用时需根据具体情况选择合适的符号进行格式化输出。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行