> 文章列表 > 【Python】字符串 ③ ( Python 字符串格式化 | 单个占位符 | 多个占位符 | 不同类型的占位符 )

【Python】字符串 ③ ( Python 字符串格式化 | 单个占位符 | 多个占位符 | 不同类型的占位符 )

【Python】字符串 ③ ( Python 字符串格式化 | 单个占位符 | 多个占位符 | 不同类型的占位符 )

文章目录

  • 一、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

【Python】字符串 ③ ( Python 字符串格式化 | 单个占位符 | 多个占位符 | 不同类型的占位符 )

2、字符串格式化 - 多个占位符

如果要引入两个变量 , 则使用如下格式 :

如果有 多个占位符 , 那么 在 % 右侧的 多个变量使用括号括起来 , 使用逗号分割 , 注意顺序不要乱 ;

注意 , 下面的示例中 , 占位的类型是 int 类型 变量 ; 先将 数字 18 转为 字符串 “18” , 然后再拼接进字符串 ;

# 字符串格式化
name = "Tom"
age = 18
info = "%s is %s years old" % (name, age)
print(info)

执行结果 :

Tom is 18 years old

【Python】字符串 ③ ( Python 字符串格式化 | 单个占位符 | 多个占位符 | 不同类型的占位符 )

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

【Python】字符串 ③ ( Python 字符串格式化 | 单个占位符 | 多个占位符 | 不同类型的占位符 )