python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python字符串格式化

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

作者:不瘦80斤不改名

这篇文章主要介绍了Python实现字符串格式化的五种方法,包括拼接、print多参数、%格式化、f-string和format(),每种方法都有其特点和适用场景,f-string因其简洁和功能强大而最受推荐,需要的朋友可以参考下

示例:

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))

运行结果:

1. + 拼接:必须都是字符串,所以要 str(age)

print("My name is " + name + ", and I am " + str(age) + " years old.")

2. print 多参数:自动转字符串,但默认会加空格

print("My name is", name, ", and I am", age, "years old.")
print("A", "B", sep="-")  # A-B
print("X", end="")        # 不换行
print("Y")                # 接着输出

3. % 格式化:旧式占位符写法

print("My name is %s, and I am %d years old." % (name, age))

% 常见的形式

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

4. f-string:最常用、最推荐

print(f"My name is {name}, and I am {age} years old.")
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

5. format() 格式化

print("My name is {}, and I am {} years old.".format(name, age))
print("My name is {n}, and I am {a} years old.".format(n=name, a=age))
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字符串格式化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文