以如下打印为例:
my name is tom and my age is 12
方式一:字符串格式化表达式
name = 'tom'
age = 12print("my name is %s and my age is %d" %(name,age))
value为一个元组
says = "my name is %s and my age is %s"
value =('tom', 12)
says%value
方式二:字符串格式化方法调用
name = 'tom'
age = 12print("my name is {name} and my age is {age}".format(name='tom',age=12))
使用索引,注意下面例子中format两个参数的赋值顺序:
print("my name is {1} and my age is {0}".format(12,'tom'))
也可以省略索引值
print("my name is {} and my age is {}".format('tom',12))
省略索引值时,format后可以是形参
name = 'tom'
age = 12print("my name is {} and my age is {}".format(name,age))
注意以下调用反而会引起错误
name = 'tom'
age = 12print("my name is {name} and my age is {age}".format(name,age))Traceback (most recent call last):
File "<pyshell#586>", line 1, in <module>
print("my name is {name} and my age is {age}".format(name,age))
KeyError: 'name'
方式三:f字符串
在Python 3.6中,如果变量与替换字段同名,还可使用一种简写。在这种情况下,可使用f
字符串——在字符串前面加上f
name = 'tom'
age = 12print(f"my name is {name} and my age is {age}")
方式四:使用加号拼接
name = 'tom'
age = 12print("my name is " + name + " and my age is " + str(age))