在python中,%r格式字符似乎能够格式化任何内容,因此为什么使用%s(对于字符串)或%d用于整数。有没有使用%r的情况?
答案 0 :(得分:0)
%r返回对象上的repr(),请参阅http://docs.python.org/2/library/functions.html#func-repr,这基本上是一种尝试将对象转换为可执行python语法的方法,该语法将产生与给定参数相同的值。
如果要将某些对象表示为字符串,则可能会出现问题。 (例如,日期时间示例 - When to use %r instead of %s in Python?)
基本上如果你将它用于实际的字符串,它应该没关系,对于整数,如果整数是合法的,它应该返回相同的值,但是(!)如果你不小心传递了一个不同的对象而不是整数你打算传递一个整数,%d会导致问题而%r不会