f-strings调试

这是Python3.8新特性的第三篇,第一篇介绍了Python3.8 新特性:赋值表达式,第二篇是Python3.8 新特性:仅位置参数。这篇文章介绍f-strings调试功能。
f-strings 是Python3.6中的新特性,Python3.8 中 f-strings 开始支持“=”操作,主要作用是方便用于调试。它的语法是:f'{expr=}' 。
写Python代码,我大部分时候都会用 print 函数调试,因为简单方便,如pdb、pycharm的断点调试功能只在少数特殊场景下才会使用。使用print 函数有什么问题呢?
在代码很长的复杂场景,你可能要打印好几个值,例如:
[Python]  纯文本查看  复制代码
?
1
2
3
4
5
6
name1 = "zhang"
name2 = "li"
name3 = "wang"
print (name1)
print (name2)
print (name3)

输出:
[Python]  纯文本查看  复制代码
?
1
2
li
wang

从输出结果来看,我们不知道哪个值对应的是哪个变量,在代码行数少的时候还能通过看源代码分辨出来,如果代码量很长很长时,就很容易搞混,不知你有没有遇到过,反正我经常为了区分谁是谁,打印时要加奇形怪异的特殊字符。
当然,在 print 时直接把变量名字打印出来是最直白的。
[Python]  纯文本查看  复制代码
?
1
2
3
4
5
6
name1 = "zhang"
name2 = "li"
name3 = "wang"
print (f "name1={name1}" )
print (f "name2={name2}" )
print (f "name3={name3}" )

输出:
[Python]  纯文本查看  复制代码
?
1
2
3
name1 = zhang
name2 = li
name3 = wang

为了调试方便,python3.8在f-strings中可以使用等号“=”,打印出来时,等号左边就是变量的名字,右边是对应的值。
[Python]  纯文本查看  复制代码
?
1
2
3
4
5
6
name1 = "zhang"
name2 = "li"
name3 = "wang"
print (f "{name1=}" )
print (f "{name2=}" )
print (f "{name3=}" )

输出:
[Python]  纯文本查看  复制代码
?
1
2
3
name1 = zhang
name2 = li
name3 = wang

再举个例子:
[Python]  纯文本查看  复制代码
?
1
2
3
>>> now = datetime.datetime.now()
>>> print (f "{now.day=}" )
now.day = 21

Python3.8 新特性:f-strings调试相关推荐

  1. Python3.8 新特性:仅位置参数

    这是Python3.8新特性的第二篇,第一篇介绍了赋值表达式,这篇文章花几分钟了解什么是仅位置参数(Positional-Only Arguments) 函数传递参数的方式繁多,有位置参数.默认参数. ...

  2. python 3.8 新特性 video_1分钟了解:Python3.8 新特性:仅位置参数

    这是Python3.8新特性的第二篇,第一篇介绍了赋值表达式,这篇文章花几分钟了解什么是仅位置参数(Positional-Only Arguments) 插播一条:我自己是一名从事了多年开发的Pyth ...

  3. Python3.10新特性初体验

    Python3.10新特性初体验 注:图片来源 目录 结构模式匹配 [PEP 635] union类型允许X | Y [PEP 604] 带圆括号的上下文管理器 一.结构模式匹配(新增PEP 635) ...

  4. python3.8新特性 逻辑表达式_Python3.8新特性

    人生天地间,忽如远行客 昨日Python3.8稳定版发布,官网发布了一篇介绍新特性的文章,在此记录一下. 新增赋值操作符 := 作用:把较大表达式中的某部分值赋给变量,因为看起来像海象的眼睛和牙齿,: ...

  5. python3.8新特性 逻辑表达式_Python3.8正式发布!新特性解析在这里

    Python3.8正式发布!新特性解析在这里 诗书塞外 Python程序员 10月14日,Python 3.8 正式版发布.这也意味着一个Python开发周期的结束,和另一个开发周期的开始.Pytho ...

  6. Python3.8 了解的差不多了吧,Python3.9 新特性了解一下!

    "Python学习开发",一个值得加星标的公众号. 正文共:4946 字 1 图 预计阅读时间:13 分钟 作者:陈祥安 原文有删改:https://docs.python.org ...

  7. Python3.6新特性(部分)

    概览 Python3.6.0于2016年12月23日发布,与3.5版本相比,添加了以下新特性,详情请看python3.6发布日志. 新的语法特性: 格式化字符串字面值 数字字符串中支持下划线 变量注释 ...

  8. python3.8 新特性

    Python 3.8是Python语言的最新版本,它适合用于编写脚本.自动化以及机器学习和Web开发等各种任务.现在Python 3.8已经进入官方的beta阶段,这个版本带来了许多语法改变.内存共享 ...

  9. Python3.0 新特性

    这篇文章主要介绍了相比于python 2.6,python3.0的新特性.更详细的介绍请参见python3.0的文档. Common Stumbling Blocks 本段简单的列出容易使人出错的变动 ...

最新文章

  1. 在Python中以扩展名.txt查找目录中的所有文件
  2. JavaScript提高:005:ASP.NET使用easyUI TABS标签显示问题
  3. Spring系列之beanFactory与ApplicationContext
  4. 左神算法:调整搜索二叉树中两个错误的节点(Java版)
  5. php开启端口复用,请问下workman是否支持端口复用?
  6. koa --- nunjucks
  7. vim中自动添加文件的作者、时间信息、版本等
  8. 19.内在摄像机校准——内联函数 测验,结合外在和内在校准参数,编写相同方程的其他方法,相机参数_2
  9. 不卖了?这家公司暂停门店销售iPhone!
  10. 大数据之-Hadoop3.x_MapReduce_CombineTextInputFormat---大数据之hadoop3.x工作笔记0108
  11. Web服务器的部署地点
  12. Linux Autofs自动挂载服务详解
  13. EB开发乱码处理总结
  14. mysql的三表查询语句_求三表联合查询的SQL查询语句
  15. 7.1编辑shapefile文件
  16. 浙大PAT考试经验/考前必看/日常刷题总结(经验只写了一点点
  17. Unity 随机生成中文名字
  18. 微信小程序之自定义计时器
  19. w ndows7旗舰版怎么重装系统,windows7旗舰版iso怎么安装
  20. vue error The code generator has deoptimised the styling exceeds the max of 100KB

热门文章

  1. MAC地址找不到解决方案
  2. 伯乐发卡网系统修复版源码
  3. 蚂蚁金服旗下网商银行招聘了
  4. 转:理想主义终结年代的七种兵器
  5. 【美团 技术篇】美团推荐算法实践
  6. 美团:不存在大众点评合并进美团App的可能性
  7. 问题 - GitLab repositories 文件夹权限异常
  8. qnx 资源管理器一(转载)
  9. 量子点表面修饰PEG/抗体/金属/细胞膜/无机材料标记与制备
  10. my ReadBook_baozhuangxue / baozhuanggailun / 273154301