持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情
Python拼接字符串不好用
- 变量太多,拼接起来太麻烦
- 字符串无法和数字或其他类型完成拼接
字符串格式化
可以通过如下语法,完成字符串和变量的快速拼接
name = "白凤倚剑归"
hhh = "我是%s" % name
print(hhh)
结果:
其中的%S
- % 表示:我要占位
- S 表示:将变量变成字符串放入占位的地方 连起来:%先占个位置,然后有变量进来,把%变成字符串放到占位的位置
数字的拼接:
year = 2022
month = 10
day = 6
func = "今天是%s年%s月%s日" % (year, month, day)
print(func)
结果:
注意:
多个变量占位,变量要用括号括起来,并按照占位的顺序填入
对于数字的拼接,其实有一个默认的操作:把数字转化成字符串
常用的占位符
| 格式符号 | 转化 |
|---|---|
| %s | 将内容转换成字符串,放入占位位置 |
| %d | 将内容转换成整数,放入占位位置 |
| %f | 将内容转换成浮点型,放入占位位置 |
数字精度控制
我们可以使用辅助符号“m.n”来控制数据的宽度和精度
- m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
- n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例
- %5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成【空格】【空格】【空格】11,用上空格补足宽度
- %5.2f:表示将宽度控制为5,将小数点精度设置为2 小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f后,结果是:【空格】【空格】11.35.两个补足宽度,小数部分限制2位精度,四舍五入为.35
- %.2f:表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
测试:
num1 = 66
num2 = 3.1415926
print("数字66宽度限制5,结果是:%5d" % num1)
print("数字66宽度限制1,结果是:%1d" % num1)
print("数字3.1415926宽度限制7,小数精度2,结果是:%7.2f" % num2)
print("数字3.1415926不限制,小数精度2,结果是:%.2f" % num2)
结果:
字符串格式化-快速写法
语法: f"内容{变量}"的格式来快速格式化
注意
此方式:
- 不理会类型
- 不做精度控制 适合对精度没有要求的时候快速使用
表达式格式化
表达式是什么?
表达式就是一个具有明确结果的代码语句,如1+1、type("字符串")、3*5等 在变量定义的时候,如age=11+11,等号右侧的就是表达式,也就是有具体的结果,将结果赋值给了等号左侧的变量
如何格式化表达式?
- f"{表达式}"
- "%s/%d/%f%(表达式、表达式、表达式)"
PS:这些都是Python最基础的语法~