之前一直使用python2.x随处可见的字符串格式化(即.format形式)觉得这种方式很笨,后来在网上搜了一些文章和看了一些别人写的代码,总结以下几种Python3的字符串格式化方法。你可以选择一个你用的顺手,或看的顺眼的。
一、%形式
def display_name():
name = "Steve"
age = 45
print("%s的岁数是:%d" % (name,age))
display_name()
>>Steve的岁数是:45
需要区别需要格式化变量的类型
二、.format形式
1.提前定义好变量
def display_name():
name = "Steve"
age = 45
print("{0}的岁数是{1}.他弟弟的岁数也是{1}".format(name,age)) # 有下标
print("{}的岁数是{}".format(name,age)) #没下标
display_name()
>>Steve的岁数是45.他弟弟的岁数也是45
Steve的岁数是:45
2.未提前定义变量
def display_name():
print("{name}的岁数是:{age}".format(name="Steve",age=45)) #.format内定义变量
print("{:s}的岁数是:{:d}".format("Steve",45)) #不定义变量,直接使用
display_name()
>>Steve的岁数是:45
Steve的岁数是:45
三、f-string模式
Python3.6新特性,因为简洁,也是我最喜欢的。
在字符串前加"f",需要引用哪个变量,用大括号将变量名括进去就行了。非常方便
def display_name():
name="Steve"
age=45
print(f"{name}的岁数是:{age}")
display_name()
>>Steve的岁数是:45
没有哪种最好,只要使用顺手,达到目的,哪个都可以。