在Python中,我们经常需要将变量的值插入到字符串中。为了实现这一目的,Python提供了两种格式化字符串的方式:%r和%s。这两个占位符在表达方式和输出结果方面有一些区别。下面我们来详细介绍它们的用法和区别。
- %r的用法:
%r用于在字符串中插入变量的"原始"表示。这意味着%r会尽可能地输出变量的完整表达形式,包括引号和转义字符。它通常用于调试和打印变量的详细信息。
下面是一个示例代码:
name = "Alice"
age = 25
print("Name: %r, Age: %r" % (name, age))
输出结果为:
Name: 'Alice', Age: 25
可以看到,%r将字符串name的值用单引号括起来,并保留了引号。对于整数age,它没有添加引号。
- %s的用法:
%s用于在字符串中插入变量的"字符串"表示。它会将变量转换为字符串,并将其插入到字符串中。%s通常用于一般的字符串插入操作。
下面是一个示例代码:
name = "Alice"
age = 25
print("Name: %s, Age: %s" % (name, age))
输出结果为:
Name: Alice, Age: 25
可以看到,%s将变量name和age的值直接插入到字符串中,不再保留引号。
总结:
- %r
本文介绍了Python中用于字符串格式化的%r和%s的区别。%r提供变量的原始表示,包括引号和转义字符,常用于调试;%s则将变量转换为字符串形式,适用于一般插入操作。理解这两个占位符的差异有助于更有效地使用Python进行字符串处理。
订阅专栏 解锁全文





