字符串格式化的目的是为了更便捷的将字符串进行拼接成一串新的字符串。
Pthon的字符串格式化方式目前提供了三种方式: %方式、format方式、f方式,接下来就这三种格式化方式进行实例展示。
%的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存。而f格式化方式在Python3.6版本以后出现了,使用更便捷。
1、%
temp = "我的名字叫 %s" % "Hqss"
temp = "我的名字叫 %s 年龄为 %d" % ("Hqss", 18)
temp = "我的名字叫 %(name)s 年龄为 %(age)d" % {"name": "Hqss", "age": 18}
temp = "百分比为 %.2f" % 99.97623
temp = "比分比为 %(data).2f" % {"data": 123.425556, }
temp = "百分比为 %.2f %%" % {"Hqss": 123.425556, }
2、format(推荐)
temp = "我的名字叫 {}, 年龄为 {}".format("Hqss", 18)
temp = "我的名字叫 {0}, 年龄为 {1}, 真实名字为 {0}".format("Hqss", 18)
temp = "我的名字叫 {name}, 年龄为 {age}, 真实名字为 {name}".format(name="Hqss", age=18)
temp = "我的名字叫 {0[0]}, 年龄为 {0[1]}, 真实名字为 {0[2]}".format([1, 2, 3], [11, 22, 33])
temp = "我的名字叫 {:s}, 年龄为 {:d}, 薪资为 {:f}".format("Hqss", 18, 88888.1)
temp = "我的名字叫 {name:s}, 年龄为 {age:d}".format(name="Hqss", age=18)
temp = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2)
temp = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15)
temp = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)
3、f
temp = f"我的名字叫 {'Hqss'}, 年龄为 {18}"
name = "Hqss"
age = 18
temp = f"我的名字叫 {name}, 年龄为 {age}"
temp = f"我的名字叫 {name}, 年龄为 {age + 2}"
temp = f"我的名字叫 {name.upper()}, 年龄为 {age + 2}"
temp = f"我的名字叫 {name}, 年龄为 {17 + 2}"
temp = f"我的名字叫 {name}, 年龄为 {17 + 2=}"
# 进制转换
temp = f"我今年 {18} 岁."
temp = f"我今年 {18:#b} 岁."
temp = f"我今年 {18:#o} 岁."
temp = f"我今年 {18:#x} 岁."
至此Python的三种字符串格式化方式都已举例介绍完毕,在实际使用中因人而异使用,哪种更加方便使用哪种。不过个人推荐使用format方式。