python中的三种字符串格式化方式
1,%s格式化使用的两种方式:
第一种:按照位置与%s一一对应,少一个不行,多一个也不行。
res = "my name is %s my age is %s" %('feizai','18')
第二种:以字典的形式传值,打破位置的限制。
res = "my name is %(name)s my age is %(age)s" %{'name':'feizai','age':'18'}
2,str.format:兼容性好 同时兼容python2..和python3..
第一种:按照位置一对一传值
res = "我的名字是 {} 我的年龄是{}".format('feizai',18)
第二种:按照索引取值
res = "我的名字是 {0}{0}{0} 我的年龄是{1}".format('feizai',18)
第三种:以字典的形式传值
res = "我的名字是 {name} 我的年龄是{age}".format(name = 'feizai',age = 18)
3,f:python3.5以后推出的字符串格式化方式
第一种:定义变量然后传值
name = 'hu '
age = 18
res1 = f"my name is {name} my age is {age}"
f:的新用法:{}内的字符串可以被当做表达式运行
res = f'10+3' # 打印结果是’10+3‘ res = f'{10+3}' # {}内的字符串可以被当做表达式运行 打印结果为 ‘13’ res = f'{print("aaaa")}' # {}内的字符串可以被当做表达式运行 打印结果为 ‘aaaa’ 和上面的运算同理
兼容性,与速度:
str.format:同时兼容python3和python2 速度比f''慢,比%s快。
%s:python诞生之初就存在的格式化方法。同时兼容python3和python2,速度最慢。
F'':pytohn 3.5以后推出的字符串格式化方法,python3.5之后版本可用,速度最快。