文章目录
- 一、Python 字符串格式化
- 1、字符串格式化 - 单个占位符
- 2、字符串格式化 - 多个占位符
- 3、字符串格式化 - 不同类型的占位符
一、Python 字符串格式化
在上一篇博客 【Python】字符串 ② ( 字符串拼接 | 字符串与非字符串不能直接拼接 | TypeError: can only concatenate str (not “int“) to str ) 中 , 介绍了 使用 + 运算符拼接字符串 的方法 , 该方法有一定的弊端
- 如果变量过多 , 拼接起来很麻烦
- 字符串 与 非字符串 之间无法进行拼接
1、字符串格式化 - 单个占位符
这里介绍一种新的字符串拼接方式 " 字符串格式化 " ;
下面是字符串格式化的示例 :
# 字符串格式化
name = "Tom"
info = "%s is 18 years old" % name
print(info)
%s
是 占位符 :
- % 表示要占位
- s 表示将 引入的 变量 转为字符串 放入该位置 ;
格式化字符串 与 要引入的变量 之间 , 使用 % 符号 , 不是 + ;
执行结果为 :
Tom is 18 years old
2、字符串格式化 - 多个占位符
如果要引入两个变量 , 则使用如下格式 :
如果有 多个占位符 , 那么 在 % 右侧的 多个变量使用括号括起来 , 使用逗号分割 , 注意顺序不要乱 ;
注意 , 下面的示例中 , 占位的类型是 int 类型 变量 ; 先将 数字 18 转为 字符串 “18” , 然后再拼接进字符串 ;
# 字符串格式化
name = "Tom"
age = 18
info = "%s is %s years old" % (name, age)
print(info)
执行结果 :
Tom is 18 years old
3、字符串格式化 - 不同类型的占位符
上面的章节中 , 使用的 "%s is %s years old" % (name, age)
代码 , 拼接字符串 , 要 先将 数字类型的变量 age 转为字符串类型 , 然后再拼接进去 ;
在 Python 中 , 是 支持以数字类型原本的类型拼接入字符串的 , 这里引入 " 数据类型占位 " 概念 ;
常用的 数据类型占位 :
- %s : 将内容转为字符串 , 拼接到字符串中 ;
- %d : 将内容转为整数 , 拼接到字符串中 ;
- %f : 将内容转为浮点数 , 拼接到字符串中 ;
代码示例 :
# 不通过类型的占位符
name = "Tom"
age = 18
money = 88.88
info = "%s is %d years old, has %f dollors" % (name, age, money)
print(info)
执行结果 :
Tom is 18 years old, has 88.880000 dollors