python3.6中format函数_Python3.6新特性:f-strings格式化输出

按照惯例,吟诗一首,苏轼《江城子·密州出猎》

老夫聊发少年狂,左牵黄,右擎苍,锦帽貂裘,千骑卷平冈。

为报倾城随太守,亲射虎,看孙郎。

酒酣胸胆尚开张,鬓微霜,又何妨!持节云中,何日遣冯唐?

会挽雕弓如满月,西北望,射天狼。

f-strings 是python3.6开始加入标准库的格式化输出新的写法,这个格式化输出比之前的%s 或者 format 效率高并且更加简化,非常的好用,以后再用格式化输出选它绝对没有错。

1、简单使用

name = 'allen'

age = 18

sex = '男'

msg_f = f'我的名字叫:{name},我今年{age}岁,我是{sex}生'

msg_F = F'我的名字叫:{name},我今年{age}岁,我是{sex}生'

print(msg_f)

print(msg_F)

结果:

我的名字叫:allen,我今年18岁,我是男生

我的名字叫:allen,我今年18岁,我是男生

是不是阅读代码的时候很清晰

2、结合表达式使用

#运算、转换

res = f'我的名字叫:{name.upper()},我今年{age + 1}岁,我是{sex}生'

print(res)

# 字典

person = {'name': name, 'age': age}

res = f"i am {person['name']}, my age is {person['age']}"

print(res)

结果:

我的名字叫:ALLEN,我今年19岁,我是男生

i am allen, my age is 18

3.结合函数使用

def fun(a, b):

return a + b

a = 2

b = 3

msg = f'2+3={fun(a, b)}'

print(msg)

结果:

2+3=5

4.多行使用

name = 'allen'

age = 18

sex = '男'

res = f'Hi {name}.'\

f'You are {age} years old.'\

f'You are {sex}'

print(res)

结果:

Hi allen.You are 18 years old.You are 男

4.结合lambda使用

! , : { } ;这些标点不能出现在{} 这里面。

比如:print(f'{;12}') 就会报错

所以使用lambda 表达式会出现一些问题。

解决方式:可将lambda嵌套在圆括号里面解决此问题。

x = 5

print(f'{(lambda x: x + 2)(x)}') # 7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值