下面就为大家讲解Python字符串格式化的完整攻略。
什么是Python字符串格式化?
字符串格式化是指将数据与给定的字符串模板进行匹配,生成新的字符串的过程。Python支持两种字符串格式化方式:%
格式符和format()
函数。
%
格式符
%
格式符是最早出现的字符串格式化方式,指定一个字符串模板,然后用%
符号和一个元组或字典进行匹配。语法格式如下:
string % value
其中,string
是要格式化的字符串模板,value
可以是元组或字典,具体使用方法如下:
使用元组
>>> name = "Peter"
>>> age = 20
>>> weight = 70.5
>>> # 使用元组进行字符串格式化,%s为字符串占位符,%d为整数占位符,%f为浮点数占位符
>>> s = "%s is %d years old, and his weight is %.2f kg." % (name, age, weight)
>>> print(s)
Peter is 20 years old, and his weight is 70.50 kg.
上面的例子中,字符串模板s
中的%s
、%d
、%.2f
分别代表字符串、整数和浮点数的占位符,然后使用元组(name, age, weight)
进行匹配,其中的顺序必须与字符串模板中的占位符顺序一致。
使用字典
>>> person = {"name": "Jack", "age": 22, "weight": 65.5}
>>> # 使用字典进行字符串格式化,{key}为字典占位符,可以直接使用字典的键来匹配
>>> s = "{name} is {age} years old, and his weight is {weight:.2f} kg.".format(**person)
>>> print(s)
Jack is 22 years old, and his weight is 65.50 kg.
上面的例子中,将要格式化的字符串模板中的占位符使用{key}
来表示,然后使用format()
函数对字典进行匹配。
format()
函数
format()
函数是Python中较为新的字符串格式化方式,使用{}
作为占位符,语法格式如下:
string.format(value1, value2, ... )
其中,string
是要格式化的字符串模板,value1
、value2
等为要填充的值,具体使用方法如下:
位置参数
>>> name = "Lily"
>>> age = 25
>>> weight = 50.4
>>> # 使用位置参数进行字符串格式化
>>> s = "{} is {} years old, and her weight is {:.2f} kg.".format(name, age, weight)
>>> print(s)
Lily is 25 years old, and her weight is 50.40 kg.
上面的例子中,{}
代表占位符,使用位置参数来匹配要填充的值。
关键字参数
>>> person = {"name": "Tom", "age": 30, "weight": 75.5}
>>> # 使用关键字参数进行字符串格式化
>>> s = "{name} is {age} years old, and his weight is {weight:.2f} kg.".format(**person)
>>> print(s)
Tom is 30 years old, and his weight is 75.50 kg.
上面的例子中,{}
代表占位符,使用关键字参数来匹配要填充的值。
混用位置参数和关键字参数
>>> s = "{0} is {1} years old, and his weight is {weight:.2f} kg.".format("John", 18, weight=60)
>>> print(s)
John is 18 years old, and his weight is 60.00 kg.
上面的例子中,{}
代表占位符,混用位置参数和关键字参数来匹配要填充的值。
总结
%
格式符和format()
函数都是Python中常用的字符串格式化方式,使用时根据需要进行选择,都具有一定的灵活性和可扩展性。
希望大家能够掌握Python字符串格式化的基本用法,自己动手写出更多实用的例子。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python字符串格式化(%格式符和format方式) - Python技术站