1
3.2Python字符串格式(一)
Posted by 撒得一地 on 2016年1月31日 in python教程
上一篇: 3.1Python基本字符串操作
下一篇: 3.3Python字符串find方法
下一篇: 3.3Python字符串find方法
如果是初次接触Python编程,那么Python提供的所有字符串格式化功能可能用不到太多。因此,下面简单介绍一下。
字符串格式化使用字符串格式化操作符,即百分号%来实现的。注意,%也可以用作模运算(求余)操作符。
在%的左侧放置一个字符串(格式化字符串),而右侧则放置希望格式化的值。可以使用一个值,如一个字符串或者数字,也可以使用多个值的元组或者字典。一般情况下使用元组:
>>> format = "hello,%s. %s are brave!" >>> values = ('world','You') >>> print(format % values) hello,world. You are brave!
注意:如果使用列表或者其他序列代替元组,那么序列就会被解释为一个值。只有元组和字典可以格式化一个以上的值。比如:
>>> format = "hello,%s. %s are brave!" >>> values = [123] >>> print(format % values) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: not enough arguments for format string >>> format = "hello,%s. are brave!" >>> print(format % values) hello,[123]. are brave!
格式化字符串的%s部分被称为转换说明符(conversion specifier),它们标记了需要插入转换值的位置。s表示值会被格式化为字符串——如果不是字符串,则会用str将其转换为字符串。这个方法对大多数值都有效。
注意:如果要在格式化字符串里面包括百分号,那么必须使用%%,这样Python就不会将百分号误认为是转换说明符。比如:
>>> str = "abc%%s" >>> value = (123) >>> print(str%value) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: not all arguments converted during string formatting >>> str 'abc%%s' >>> str = "abc%s" >>> value = (123) >>> print(str%value) abc123
如果要格式化实数(浮点数),可以使用f说明符类型,同时提供所需要的精度:一个句点再加上希望保留的小数位数。因为格式化说明符总是以表示类型的字符结束,所以精度应该放在类型字符前面:
>>> format = "pi with three decimals:%.3f" >>> from math import pi >>> print(format % pi) pi with three decimals:3.142
上一篇: 3.1Python基本字符串操作
下一篇: 3.3Python字符串find方法
下一篇: 3.3Python字符串find方法
1 Comment
学习了….