写点什么

在 Python 中如何使用 format 函数?

  • 2023-04-30
    上海
  • 本文字数:1756 字

    阅读完需:约 6 分钟

在 Python 中,format 函数是一种非常常用的字符串格式化方法,它可以用于将一个字符串中的占位符替换成具体的数值、字符串等内容,从而生成一个新的字符串。本文将介绍如何使用 format 函数进行字符串格式化,包括基本用法、格式化参数和高级格式化方法。

基本用法

format 函数的基本用法非常简单,它可以接受一个或多个参数,并将它们插入到一个字符串中的占位符位置上。下面是一个简单的示例:

name = 'John'age = 30print('My name is {} and I am {} years old.'.format(name, age))
复制代码

在这个示例中,我们使用 format 函数将字符串中的两个占位符 {} 分别替换成了变量 name 和 age 的值,生成了一个新的字符串。输出结果为:

My name is John and I am 30 years old.
复制代码

在 format 函数中,每个占位符 {} 都对应一个参数,可以按照位置顺序依次替换。如果需要在字符串中使用大括号 {},可以使用双大括号 {{}} 来转义,例如:

print('I like {} and {{}}'.format('Python'))
复制代码

输出结果为:

I like Python and {}
复制代码

格式化参数

除了基本的占位符外,format 函数还支持各种格式化参数,可以用于控制字符串的格式和对齐方式。下面是一些常用的格式化参数:

  • {:<n}:左对齐,占用 n 个字符的宽度。

  • {:>n}:右对齐,占用 n 个字符的宽度。

  • {:^n}:居中对齐,占用 n 个字符的宽度。

  • {:.nf}:保留 n 位小数。

  • {:,}:千位分隔符。

例如,我们可以使用格式化参数来对输出进行对齐和格式化:

# 左对齐,占用 10 个字符的宽度print('{:<10} {:<10}'.format('Name', 'Age'))print('{:<10} {:<10}'.format('John', 30))print('{:<10} {:<10}'.format('Mike', 25))
# 保留 2 位小数print('The value of pi is approximately {:.2f}.'.format(3.141592653589793))
# 千位分隔符print('The population of China is {:,}.'.format(1400000000))
复制代码

输出结果为:

Name       Age       John       30        Mike       25        The value of pi is approximately 3.14.The population of China is 1,400,000,000.
复制代码

格式化参数可以大大增强 format 函数的灵活性和可用性,使得我们可以更方便地控制字符串的输出格式。

高级格式化方法

除了基本的占位符和格式化参数外,format 函数还提供了一些高级的格式化方法,可以实现更复杂的字符串格式化需求。下面是一些常用的高级格式化方法:

通过位置和名称指定参数

在 format 函数中,可以通过位置和名称两种方式指定参数。例如,我们可以使用位置参数来控制占位符的顺序:

print('{0}, {1}, {2}'.format('a', 'b', 'c'))
复制代码

输出结果为:

a, b, c
复制代码

也可以使用名称参数来指定占位符对应的参数:

print('{name}, {age}'.format(name='John', age=30))
复制代码

输出结果为:

John, 30
复制代码

使用字典和列表作为参数

在 format 函数中,还可以使用字典和列表作为参数,用于实现更灵活的字符串格式化。例如,我们可以使用列表来控制占位符的顺序:

mylist = ['John', 30]print('My name is {0[0]} and I am {0[1]} years old.'.format(mylist))
复制代码

输出结果为:

My name is John and I am 30 years old.
复制代码

也可以使用字典来指定占位符对应的参数:

mydict = {'name': 'John', 'age': 30}print('My name is {name} and I am {age} years old.'.format(**mydict))
复制代码

输出结果为:

My name is John and I am 30 years old.
复制代码

使用 f-string

在 Python 3.6 及以上版本中,还可以使用 f-string(也称为格式化字符串字面值)来进行字符串格式化。f-string 的语法非常简单,只需要在字符串前加上 f 前缀,然后使用大括号 {} 来包含占位符和表达式即可。例如:

name = 'John'age = 30print(f'My name is {name} and I am {age} years old.')
复制代码

输出结果与之前的示例相同:

My name is John and I am 30 years old.
复制代码

f-string 不仅语法简单,而且性能也比 format 函数更高效。因此,如果使用的 Python 版本支持 f-string,建议尽量使用它来进行字符串格式化。

总结

format 函数是 Python 中常用的字符串格式化方法,可以用于将一个字符串中的占位符替换成具体的数值、字符串等内容,从而生成一个新的字符串。在使用 format 函数时,可以使用基本的占位符、格式化参数和高级的格式化方法,来实现各种字符串格式化需求。另外,在 Python 3.6 及以上版本中,还可以使用 f-string 来进行字符串格式化,这种方法更为简单和高效。

发布于: 刚刚阅读数: 3
用户头像

公众号:海拥 2021-11-29 加入

【个人网站】haiyong.site 【联系方式】微信:wh18363 【软件技能】前端,Java,Python 【个人称号】InfoQ 写作社区签约作者,华为云享专家,CSDN原力作者,全栈领域优质创作者,掘金2021年度人气作者No.21

评论

发布
暂无评论
在 Python 中如何使用 format 函数?_三周年连更_海拥(haiyong.site)_InfoQ写作社区