在Python中,`%r` 是一个格式化字符串的占位符,它表示使用 `repr()` 函数处理其后的对象。`repr()` 函数会返回一个对象的官方字符串表示,通常这个表示是对象在Python解释器中的直接表示,包括特殊字符和转义序列。
例如,如果你有一个整数 `42`,使用 `repr()` 函数会得到字符串 `'42'`,而使用 `str()` 函数会得到字符串 `'42'`。但是,如果对象包含特殊字符,如换行符 `\n`,`repr()` 会保留这个特殊字符的原始形式,而 `str()` 会将其转义为 `'\n'`。
下面是一些使用 `%r` 的例子:
a = 42
b = 'hello, world!\n'
print('整数:%r' % a) 输出:整数:42
print('字符串:%r' % b) 输出:字符串:'hello, world!\n'
需要注意的是,`%r` 和 `%s` 都可以用来格式化字符串,但 `%s` 使用 `str()` 函数处理对象,通常用于输出普通的字符串,而 `%r` 使用 `repr()` 函数处理对象,用于输出对象的原始表示。