在Python中,%r
和%s
都是用于格式化字符串的占位符。但是它们之间有一些区别。以下是Python %r
和%s
区别的详细攻略:
%r
和%s
的区别
%r
和%s
都是用于格式化字符串的占位符,但是它们之间有一些区别。%r
会将变量转换为它的repr()
形式,而%s
会将变量转换为它的str()
形式。repr()
和str()
是Python中两种不同的字符串表示形式。repr()
返回一个对象的“官方”字符串表示形式,而str()
返回一个对象的“非正式”字符串表示形式。
以下是一个使用%r
和%s
的示例:
x = 'Hello, World!'
print("Using %r: %r" % (x, x))
print("Using %s: %s" % (x, x))
在上面的示例中,使用%r
和%s
格式化字符串。使用%r
将变量x
转换为它的repr()
形式,使用%s
将变量x
转换为它的str()
形式。
输出结果如下:
Using %r: 'Hello, World!'
Using %s: Hello, World!
可以看到,使用%r
将变量x
转换为它的repr()
形式,即带有引号的字符串。而使用%s
将变量x
转换为它的str()
形式,即不带引号的字符串。
%r
和%s
的应用
%r
和%s
可以用于格式化各种类型的变量,包括字符串、数字、列表、元组、字典等。以下是一个使用%r
和%s
格式化不同类型变量的示例:
name = 'Alice'
age = 25
scores = [80, 90, 95]
person = {'name': 'Bob', 'age': 30}
print("Using %r: %r" % (name, name))
print("Using %s: %s" % (name, name))
print("Using %r: %r" % (age, age))
print("Using %s: %s" % (age, age))
print("Using %r: %r" % (scores, scores))
print("Using %s: %s" % (scores, scores))
print("Using %r: %r" % (person, person))
print("Using %s: %s" % (person, person))
在上面的示例中,使用%r
和%s
格式化不同类型的变量,包括字符串、数字、列表、字典等。
输出结果如下:
Using %r: 'Alice'
Using %s: Alice
Using %r: 25
Using %s: 25
Using %r: [80, 90, 95]
Using %s: [80, 90, 95]
Using %r: {'name': 'Bob', 'age': 30}
Using %s: {'name': 'Bob', 'age': 30}
可以看到,使用%r
将字符串和数字转换为它们的repr()
形式,将列表和字典转换为它们的字符串表示形式。而使用%s
将字符串和数字转换为它们的str()
形式,将列表和字典转换为它们的字符串表示形式。
希望这些示例能够帮助您了解Python %r
和%s
的区别。在实际应用中,应根据需要选择使用%r
或%s
。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python %r和%s区别代码实例解析 - Python技术站