下面是Python常见格式化字符串方法小结的完整攻略。
Python常见格式化字符串方法小结【百分号与format方法】
介绍
在Python中,格式化字符串是一个经常用到的功能。Python提供了两种常见的格式化字符串方法,分别是百分号(%)方法和format方法。这两种方法可以让我们方便地将变量、常量等数据组合成字符串,有很广泛的应用场景。本文将对这两种方法进行一些介绍和常见用法的梳理。
百分号方法
语法说明
百分号方法是Python早期版本就支持的字符串格式化方法。它的基本语法是:
"format string % values"
其中,format string是一个包含格式符的字符串,values是按照格式符格式排列的值,可以是一个值或者一个tuple。
格式符
在format string中可以包含几个格式符,分别是:
- %s 字符串
- %d 整数
- %f 浮点数
- %e 科学计数法
示例1:字符串
name = "Tom"
print("My name is %s" % name)
输出结果:
My name is Tom
示例2:整数
age = 18
print("I am %d years old" % age)
输出结果:
I am 18 years old
示例3:浮点数
weight = 63.5
print("My weight is %.2f kg" % weight)
输出结果:
My weight is 63.50 kg
示例4:科学计数法
distance = 123456.7
print("The distance is %.2e km" % distance)
输出结果:
The distance is 1.23e+05 km
padding功能
在格式化字符串中可以用数字作为格式符之前的符号,表示这个值需要占用的宽度。如果这个值小于指定的宽度,则使用空格或者0补全。如果这个值大于指定的宽度,则按照实际值输出。
示例5:padding功能
n1 = 1234
n2 = 56
print("n1=%8d, n2=%08d" % (n1, n2))
输出结果:
n1= 1234, n2=00000056
格式化符综合示例
下面是对多个变量使用不同的格式化符的综合示例:
name = 'Tom'
age = 18
weight = 63.5
print("%s is %d years old, weight is %.2f kg" % (name, age, weight))
输出结果:
Tom is 18 years old, weight is 63.50 kg
应用场景
百分号方法已经被Python自带的新式字符串str.format()所取代,但是在一些旧代码或者遗留项目中仍然可以看到百分号方法的影子。通常可以用在输出日志、生成固定格式的文件、Web应用等场景中。
format方法
语法说明
format方法是Python2.6及以后版本引入的新式字符串格式化方法。它的基本语法是:
"format string".format(values)
其中,format string是一个包含format格式化的字符串,values是按照format格式指定的值或者变量。
format格式
在format string中可以使用大括号将变量的值嵌入到字符串中。大括号中可以指定格式,格式用冒号隔开,格式的常见符号及其含义:
{}
自动推导类型{:d}
整数{:f}
浮点数{:.2f}
保留小数点后两位浮点数{:.2e}
科学计数法保留两位小数
格式化示例
格式化示例可以参照先前的百分号示例。
示例6:自动推导类型
x = 10
y = 'Tom'
print("x={} y={}".format(x, y))
输出结果:
x=10 y=Tom
示例7:整数
n = 1234
print("n={:08d}".format(n))
输出结果:
n=00001234
示例8:浮点数
f = 63.5
print("f={:.2f}".format(f))
输出结果:
f=63.50
padding功能
format可以在格式化指定的位置使用padding功能,方法是在变量前加上冒号加上占位符,占位符的格式是[填充字符][对齐方式][输出宽度]
。其中,填充字符默认为空格,对齐方式默认右对齐。
示例9:padding功能
n1 = 1234
n2 = 56
print("n1={:8d}, n2={:08d}".format(n1, n2))
输出结果:
n1= 1234, n2=00000056
应用场景
format方法是比较通用的字符串格式化方法,可以用来格式化字符串、日志、数据库查询等场景,在Python编程中应用较为广泛。
总结
Python的格式化字符串方法有两种,分别是百分号方法和format方法。百分号方法是Python早期的字符串格式化方法,能够满足基本的字符串格式化需求,并且可以直接应用到一些旧代码中。format方法是Python较新的字符串格式化方法,更加灵活、通用,在Python编程中应用较为广泛。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python常见格式化字符串方法小结【百分号与format方法】 - Python技术站