一、字符串的三种定义方式
1.单引号定义法:name = '张三'
2.双引号定义法:name = "张三"
3.三引号定义法:name = '""张三"""
三引号定义法,和多行注释的写法一样,同样支持换行操作。
使用变量接收它,它就是字符串
不使用变量接收它,就可以作为多行注释使用。
二、字符串拼接
如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成,也可以通过变量与字面量拼接如:
运行结果:
注意:+号无法和非字符串类型进行拼接,如下面这段代码运行结果将会报错
那么如何将其他类型拼接起来呢?这时候就要用到字符串格式化了
运行结果:
其中的,%s
注意:多个变量占位,变量要用括号括起来,并按照占位的顺序填入
在上图代码中,我们将字符串类型与整形类型拼接,但是这里数字是被转换成字符串类型后进行拼接的,也就是说 123456 是被转换成字符串 "123456" 放入被转换的地方
那么有没有方法能使数字不被转换成字符串从而完成拼接呢?其实Python中,支持非常多的数据类型占位,最常用的是如下三类
当我们要将整数拼接时,使用%d就可以完成拼接了
三、格式化的精度控制
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
示例:
小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f 后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35
四、字符串格式化方式2
目前通过%符号占位已经很方便了,还能进行精度控制。
可是追求效率和优雅的Python,是否有更加优雅的方式解决问题呢?
答案当然是有,通过语法:f"内容{变量}"的格式来快速格式化
这种写法不做精度控制,也不理会类型,适用于快速格式化字符串
运行结果: