在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来输出复杂数据类型的变量,例如列表、字典和类实例等 。以下是一个例子:
【Python中%r和%s的详解及区别】>>> data = https://www.ycpai.cn/python/{'name': 'Tom', 'age': 18}
>>> print(%r % data)
{'name': 'Tom', 'age': 18}
综上所述,%r和%s在Python中都有它们的使用场景 , 使用时需根据具体情况选择合适的符号进行格式化输出 。
猜你喜欢
- Python pytesseract验证码识别库用法解析
- python变量不能以数字打头详解
- python list清空?
- 学习Python:脑筋急转弯和其他有趣技巧
- python去掉行尾的换行符方法
- cdr与ai学哪个比较好?
- python中大于等于怎么表示?
- python桶排序算法怎么用?
- python怎么卸载干净重新安装?
- python多个if判断?
