f-strings 是python3.6开始加入标准库的格式化输出新的写法,这个格式化输出比之前的%s 或者 format 效率高并且更加简化,非常的好用,以后再用格式化输出选它绝对没有错。
简单使用
name = '123'
# format()
print('name={}'.format(name))
# %
print('name=%s' % name)
# f-strings
print(f'name={name}')
n ='知否,知否,'
print(f'如梦令·昨夜雨疏风骤\n[宋] 李清照\n'
f'昨夜雨疏风骤,浓睡不消残酒,试问卷帘人,却道海棠依旧。{n}应是绿肥红瘦。')
输出的结果是一样的:
name=123
name=123
name=123
复杂点:
可以结合表达式一起使用
注意: ! , : { } ;这些标点不能出现在{} 这里面有可能会报奇怪的错误的
有一些特殊字符串也会的
name = 'abc'
print(f'name={name.upper()}')
dict1 = {'name': 'qer', 'age': 123}
print(f'名字:{dict1.get("name")},年龄:{dict1.get(str("age"))}')
结合函数使用:
def sum(a, b):
return a + b
a = 2
b = 3
msg = f'2+3={sum(a, b)}'
print(msg)
# 结果:
# 2+3=5
结合匿名函数lambda使用:
Sum = lambda x, y: x+y
print(f'x+y的和为:{Sum(1,2)}')
f-strings在python3.8中的新增特性:
f-strings
增加了 =
说明符, f'{expr=}'
会被扩展为表达式的文本,加上一个等号, 和一个执行表达式的结果.
name = 'a'
age = '18'
print(f'{name=},{age=}')
#结果:
#name='a',age='18'