详解Python 字符串格式化

  • Post category:Python

当我们想要将数据以一定的格式进行输出时,可以使用Python中的字符串格式化来进行操作。字符串格式化是一种将变量化为可读性更强的字符串的处理方式,其使用方法非常简单明了,可以帮助我们在数据处理方面更加高效。

字符串格式化的基本用法

在Python中进行字符串格式化,可以使用百分号(%)或者format()方法实现。下面是两种方式的示例代码:

使用百分号(%)进行格式化

age = 18
name = '小明'
print('我叫%s,今年%d岁。' % (name, age))

在上述代码中,我们使用了%来指定输出的格式,在%后面加上一个字符可以指定变量类型。其中,%s表示输出字符串,%d表示输出数字。在输出时,我们需要在字符串中使用一个占位符(%s或%d),然后再使用%运算符将变量与占位符对应起来。

使用format()方法进行格式化

age = 18
name = '小明'
print('我叫{},今年{}岁。'.format(name, age))

在上述代码中,我们使用.format()来指定输出的格式,其具体格式为一对花括号{},并将变量的值填充进去。

字符串格式化的高级用法

除了基本用法外,字符串格式化还有一些高级用法,可以满足更加复杂的输出需求。下面是一些常见的高级用法:

字符串对齐

在字符串格式化时,我们可以使用冒号(:)来指定输出的长度和对齐方式。其中,<表示左对齐,>表示右对齐,^表示居中对齐。

name = '小明'
print('{:^10}'.format(name))

在上述代码中,我们输出了长度为10的字符串,并将变量name居中对齐。

数字格式化

在字符串格式化时,我们可以通过在占位符中添加格式化字符来控制数字输出的格式。其中,常用的格式化字符有:

  • %d:表示十进制整数
  • %f:表示浮点数,后面可以添加小数点后保留的位数
  • %e:表示科学计数法的数字
  • %x:表示十六进制数字
  • %o:表示八进制数字
num = 123.456
print('num=%d' % num)
print('num=%.2f' % num)

在上述代码中,我们对数字进行了格式化,并通过%d和%.2f分别输出了整数和浮点数。

字典和列表格式化

在字符串格式化时,我们可以使用字典和列表来进行输出。其中,字典的格式为{键:值},列表的格式为[],并用逗号分隔。

d = {'name': '小明', 'age': 18}
l = [1, 2, 3]
print('姓名:{name},年龄:{age}'.format(**d))
print('列表:{}'.format(l))

在上述代码中,我们分别使用了字典和列表来进行字符串格式化输出。

通过上述示例,我们可以看出Python字符串格式化的基本用法和高级用法,使用字符串格式化可以帮助我们高效地进行数据输出和格式化处理。