当我们需要输出一个更加美观而灵活的字符串时,字符串格式化就可以派上用场了。格式化字符串是指将一个字符串中的某些特定部分替换为传入变量的值或表达式的值。
在Python中,字符串格式化有多种方法,这里主要介绍其中两种较常用的格式化方法:%
表达式和format()
方法。
使用%
表达式进行格式化
字符串格式化中,%
表示占位符,用于指定详细信息数据的具体插入位置及形式。在一个格式化字符串中可以指定多个占位符,且每个占位符用%
指定,占位符将在字符串和应对于的参数值之间进行交互,参数值是Python中的任何数据类型。
下面通过几个示例来详细看一下字符串格式化的实现方式:
示例1:简单表达式格式化
name = 'Lucy'
age = 23
print('My name is %s. Now I am %d years old.' % (name, age))
运行以上代码,输出结果如下:
My name is Lucy. Now I am 23 years old.
在这个例子中,格式化字符串中的%s
和%d
是占位符,分别表示字符串和整数的格式化。在后面%后的括号中,分别按顺序对应了两个变量name和age的具体值。因此,输出的字符串中的%s
将被替换为name的值'Lucy',而%d
则被替换为age的值23。
示例2:格式化数字输出
a = 3.1415926
print('圆周率保留小数点后两位为:%.2f' % a)
运行以上代码,输出结果如下:
圆周率保留小数点后两位为:3.14
在这个例子中,格式化字符串中的%.2f
表示浮点数保留小数点后两位进行格式化输出。其中%f
是用来表示浮点数类型的占位符,.2
则表示取小数点后两位。
在使用%
表达式格式化字符串时,需要注意占位符和对应变量的匹配问题,否则将会出现TypeError。
使用format()
方法进行格式化
format()
方法是Python3中新增加的一种字符串格式化方法,它可以通过大括号 {}
来表示变量,同样可以用于字符串和其它对象的格式化输出,且冒号(:)后可以跟着一些格式化字符。
下面通过几个示例来详细看一下字符串格式化的实现方式:
示例3:简单格式化
print('{} {}'.format('one', 'day'))
运行以上代码,输出结果如下:
one day
在这个例子中,通过{}
大括号来表示需要格式化的对象,在大括号中的数字可以不需要。通过format()中的参数按顺序依次替换。这里用'{} {}'来替换,也就是用'one'来替换第一个'{}',用'day'来替换第二个'{}'。
示例4:指定位置格式化
print('{1}, {0}, {1}'.format('Lucy', 'Hello'))
运行以上代码,输出结果如下:
Hello, Lucy, Hello
在这个例子中,通过{0}, {1}表示格式化的位置,与format()中对应的字符串参数位置对应。这里用'Lucy'来替换第一个'{1}'位置上的字符串,用'Hello'来替换第一个'{0}'和第二个'{1}'位置上的字符串。
以上两种格式化方式在实际应用中都比较常见,而且都有其优缺点。因此,在应用时可以根据需要进行选用,需要注意的是,格式化字符串时一定要保证占位符和对应变量的类型一致,否则将会输出错误结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python入门教程(三十三)Python的字符串格式化 - Python技术站