f-strings 是python3.6开始加入标准库的格式化输出新的写法,这个格式化输出比之前的%s 或者 format 效率高并且更加简化
简单使用:
他的结构就是F(f)+ str的形式,在字符串中想替换的位置用{}展位,与format类似,但是用在字符串后面写入替换的内容,而他可以直接识别。
name = 'Andy'
age = 18
gender = '男'
msg = F'姓名:{name},性别:{age},年龄:{gender}' # 大写字母也可以
msg = f'姓名:{name},性别:{age},年龄:{gender}'
print(msg)
# 输出
姓名:Andy,性别:18,年龄:男
任意格式:包括运算,列表,字典等等
print(f'{3*21}') # 63
name = 'andy'
print(f"全部大写:{name.upper()}") # 全部大写:BARRY
# 字典也可以
teacher = {'name': 'Andy', 'age': 18}
msg = f"The teacher is {teacher['name']}, aged {teacher['age']}"
print(msg)
# 列表也行
lst = ['Andy', 18]
msg = f'姓名:{lst[0]},年龄:{lst[1]}.'
print(msg)
# 结果:
63
全部大写:ANDY
The teacher is Andy, aged 18
姓名:Andy,年龄:18.
注意:
! , : { } ;这些标点不能出现在{} 这里面。
所以使用lambda 表达式会出现一些问题
所以使用lambda表达式时,可以通过添加括号得到解决:
x = 5
print(f'{(lambda x: x*2) (x)}')
# 输出
10