Python实现字符串格式化的五种方法

作者:

文章目录
  • print(“My name is ” + name + “, and I am ” + str(age) + ” years old.”) +是字符串拼接。 规则很硬:“字符串” + 变量 两边必须都是 str。 age 是 int,不能直接和字符串相加,所以要 str(age) 转成字符串。 常见报错原因:"I am " + age(str 和 int 不能相加)。
  • print(“My name is”, name, “, and I am”, age, “years old.”) 这里不是“拼接”,而是 print() 接收了多个参数。 print 会把每个参数都转成可显示文本(所以 age 不用 str())。 默认用空格把参数隔开:sep=" ",所以输出里会出现一些空格。 如果你想控制输出样式,可以改 sep 或 end: print(“A”, “B”, sep=”-“) # A-B print(“X”, end=””) # 不换行 print(“Y”) # 接着输出
  • print(“My name is %s, and I am %d years old.” % (name, age)) 先写一个“模板字符串”,里面放占位符: %s:填入字符串(很多类型也能用 %s,会转成字符串) %d:填入整数 右边用一个元组 (name, age) 按顺序把值塞进去。
  • print(f”My name is {name}, and I am {age} years old.”) 字符串前加 f,然后用 {} 包变量或表达式。 {} 里不只能放变量,也能放表达式/函数调用: print(f”next year: {age + 1}”) print(f”upper: {name.upper()}”) 也支持格式控制(例如保留两位小数、补零、对齐): x = 3.14159 print(f”{x:.2f}”) # 3.14 print(f”{age:05d}”) # 00018
  • print(“My name is {}, and I am {} years old.”.format(name, age)) {} 是占位符,.format(…) 按顺序填进去。 支持命名参数,模板更清晰: print(“My name is {n}, and I am {a} years old.”.format(n=name, a=age)) 也支持格式控制(和 f-string 类似): x = 3.14159 print(“{:.2f}”.format(x)) # 3.14
  • +:真的在拼字符串,所以 int 必须 str() print(a, b, c):不是拼接,是打印多个参数,默认加空格 % / format / f-string:格式化(模板 + 填值),通常更清晰 日常推荐:f-string 到此这篇关于Python实现字符串格式化的五种方法的文章就介绍到这了,更多相关Python字符串格式化内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: Python中多种字符串格式化的完整方法指南 Python通过%操作符进行取余运算与字符串格式化的深度解析 Python中进行字符串格式化的不同方法介绍与对比 一文彻底掌握Python字符串格式化与正则表达式 Python 的格式化字符串(f-string)的基本用法详解
  • 目录
    • 1. + 拼接:必须都是字符串,所以要 str(age)
    • 2. print 多参数:自动转字符串,但默认会加空格
    • 3. % 格式化:旧式占位符写法
      • % 常见的形式
    • 4. f-string:最常用、最推荐
      • 5. format() 格式化
        • 总结

          示例:

          name = "Forbearing"
          age = 18
          
          print("My name is " + name + ", and I am " + str(age) + " years old.")
          print("My name is", name, ", and I am", age, "years old.")
          print("My name is %s, and I am %d years old." % (name, age))
          print(f"My name is {name}, and I am {age} years old.")
          print("My name is {}, and I am {} years old.".format(name, age))
          

          运行结果:

          print("My name is " + name + ", and I am " + str(age) + " years old.")
          
          • +是字符串拼接
          • 规则很硬:“字符串” + 变量 两边必须都是 str。
          • age 是 int,不能直接和字符串相加,所以要 str(age) 转成字符串。
          • 常见报错原因:"I am " + age(str 和 int 不能相加)。

          print("My name is", name, ", and I am", age, "years old.")
          
          • 这里不是“拼接”,而是 print() 接收了多个参数。
          • print 会把每个参数都转成可显示文本(所以 age 不用 str())。
          • 默认用空格把参数隔开:sep=" ",所以输出里会出现一些空格。
          • 如果你想控制输出样式,可以改 sep 或 end:
          print("A", "B", sep="-")  # A-B
          print("X", end="")        # 不换行
          print("Y")                # 接着输出
          

          print("My name is %s, and I am %d years old." % (name, age))
          
          • 先写一个“模板字符串”,里面放占位符:
            • %s:填入字符串(很多类型也能用 %s,会转成字符串)
            • %d:填入整数
          • 右边用一个元组 (name, age) 按顺序把值塞进去。

          格式符号 转换
          %s 字符串
          %d 有符号的十进制整数
          %f 浮点数
          %c 字符
          %u 无符号十进制整数
          %o 八进制整数
          %x 十六进制整数(小写ox)
          %X 十六进制整数(大写OX)
          %e 科学计数法(小写’e’)
          %E 科学计数法(大写’E’)
          %g %f和%e的简写
          %G %f和%E的简写

          print(f"My name is {name}, and I am {age} years old.")
          
          • 字符串前加 f,然后用 {} 包变量或表达式。
          • {} 里不只能放变量,也能放表达式/函数调用:
          print(f"next year: {age + 1}")
          print(f"upper: {name.upper()}")
          
          • 也支持格式控制(例如保留两位小数、补零、对齐):
          x = 3.14159
          print(f"{x:.2f}")   # 3.14
          print(f"{age:05d}") # 00018
          

          print("My name is {}, and I am {} years old.".format(name, age))
          
          • {} 是占位符,.format(…) 按顺序填进去。
          • 支持命名参数,模板更清晰:
          print("My name is {n}, and I am {a} years old.".format(n=name, a=age))
          
          • 也支持格式控制(和 f-string 类似):
          x = 3.14159
          print("{:.2f}".format(x))  # 3.14
          

          1. +:真的在拼字符串,所以 int 必须 str()
          2. print(a, b, c):不是拼接,是打印多个参数,默认加空格
          3. % / format / f-string:格式化(模板 + 填值),通常更清晰
          4. 日常推荐:f-string

          到此这篇关于Python实现字符串格式化的五种方法的文章就介绍到这了,更多相关Python字符串格式化内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

          您可能感兴趣的文章:

          • Python中多种字符串格式化的完整方法指南
          • Python通过%操作符进行取余运算与字符串格式化的深度解析
          • Python中进行字符串格式化的不同方法介绍与对比
          • 一文彻底掌握Python字符串格式化与正则表达式
          • Python 的格式化字符串(f-string)的基本用法详解

          站内搜索