format()函数格式化字符串?
format()函数是Python内置函数之一,它可以用于格式化字符串。使用format()函数可以方便地将各种数据类型(例如数值、字符串、列表等)插入到字符串中,生成符合要求的字符串输出。
format()的语法是:
str.format(arg1, arg2, ...)
其中,str是要进行格式化的字符串,arg1、arg2……是要插入到字符串中的对象。
下面通过具体的例子来说明format()函数的用法:
1.基本的用法
例如,我们要打印两个数的和:
a, b = 1, 2
print('a+b=', a+b)
这个输出语句中,我们需要把a+b的结果插入到字符串中,使用format()函数可以这样实现:
a, b = 1, 2
print('a+b={}'.format(a+b))
这里的{}表示一个占位符,用来接收我们要插入的值,通过format()函数将a+b的结果传入{}。
2.使用位置参数
format()函数可以用位置参数的方式插入多个对象。例如,我们要输出两个人的姓名和年龄:
name1, age1 = "张三", 20
name2, age2 = "李四", 25
print("姓名:{},年龄:{}
姓名:{},年龄:{}".format(name1, age1, name2, age2))
这里我们在字符串中使用两个占位符,分别用来输出两个人的姓名和年龄。format()函数的参数依次传入占位符中,它们的位置与占位符的位置对应。
3.使用关键字参数
除了位置参数,format()函数也可以使用关键字参数来插入对象。这样可以提高代码的可读性。例如:
print("{city1}人口{num1}万,{city2}人口{num2}万".format(city1="北京", num1=2153, city2="上海", num2=2424))
这里我们使用关键字参数的方式向字符串中插入了四个值。关键字参数的格式是:{key=value}。
4.使用下标
除了使用位置和关键字参数,format()函数还可以使用下标来引用后续参数。
例如,我们可以在字符串中使用特殊的语法{0}、{1}、{2}等来指代后续参数的位置,然后使用format()函数传入这些位置参数:
print("我爱{0},也爱{1}".format("编程", "学习"))
输出结果是:
我爱编程,也爱学习
5.格式化输出
format()函数除了插入不同类型的对象,还可以对其进行格式化。常用的格式化方式有:十进制、八进制、十六进制、浮点数等。
例如:
print("十进制:{0:d}; 八进制:{0:o}; 十六进制:{0:x}; 浮点数:{1:.2f}".format(10, 3.141592653589793))
结果是:
十进制:10; 八进制:12; 十六进制:a; 浮点数:3.14
这里的{0:d}表示输出第1个参数的十进制,{0:o}表示八进制,{0:x}表示十六进制。
另外,{1:.2f}表示输出第2个参数的浮点数,保留2位小数。
格式化字符串的常见符号:
b - 二进制
c - 字符
d - 十进制
o - 八进制
x - 十六进制 (小写a-f)
X - 十六进制 (大写A-F)
e - 科学计数法
E - 科学计数法 (大写E)
f - 浮点数
F - 浮点数 (与f相同)
g - 通用格式(浮点数小于区分许多其他数值类型)
G - 通用格式 (与g相同)
n - 数字符号化
% - 百分号格式化 (浮点数)
使用format_map()函数添加自定义字典
format_map()函数用于将自定义的字典插入到字符串,例如:
price = {"apple": 3.5, "orange": 4.5, "banana": 2.5}
print("苹果价格:{apple}元,橙子价格:{orange}元,香蕉价格:{banana}元".format_map(price))
结果是:
苹果价格:3.5元,橙子价格:4.5元,香蕉价格:2.5元
这里的format_map()函数接收一个字典,将字典的键值对解析成{key:value}的形式。注意,字典的键值对必须与字符串中相对应的占位符相同。
总结
format()函数是Python内置函数之一,可以用于字符串的格式化输出。
使用format()函数,可以灵活地插入各种类型的对象到字符串中。
format()函数支持位置参数、关键字参数、下标、以及格式化输出等多种方式,功能强大。
除了常规的插入对象和格式化输出,format_map()函数还可以将自定义字典插入到字符串,提高了程序的可扩展性和可读性。
