一. python 3.6 更新的新特性

1.1 f-Strings:格式化输出

好消息是,F字符串在这里可以节省很多的时间。他们确实使格式化更容易。他们自Python 3.6开始加入标准库。您可以在PEP 498中阅读所有内容。

也称为“格式化字符串文字”,F字符串是开头有一个f的字符串文字,以及包含表达式的大括号将被其值替换。表达式在运行时进行渲染,然后使用__format__协议进行格式化。与往常一样,Python文档是您想要了解更多信息的最佳读物。

以下是f-strings可以让你的生活更轻松的一些方法。

  1. 简单举例

name = '太白金星'
age = 18
sex = '男'
msg = F'姓名:{name},性别:{age},年龄:{sex}'  # 大写字母也可以msg = f'姓名:{name},性别:{age},年龄:{sex}'  print(msg)
'''
输出结果:
姓名:太白金星,性别:18,年龄:男
'''

  2. 任意表达式

print(f'{3*21}')  # 63

name = 'barry'
print(f"全部大写:{name.upper()}")  # 全部大写:BARRY# 字典也可以
teacher = {'name': '太白金星', 'age': 18}
msg = f"The teacher is {teacher['name']}, aged {teacher['age']}"
print(msg)  # The comedian is 太白金星, aged 18# 列表也行
l1 = ['太白金星', 18]
msg = f'姓名:{l1[0]},年龄:{l1[1]}.'
print(msg)  # 姓名:太白金星,年龄:18.

View Code

  3. 可以插入表达式

def sum_a_b(a,b):return a + b
a = 1
b = 2
print('求和的结果为' + f'{sum_a_b(a,b)}')

View Code

  4.多行f

name = 'barry'
age = 18
ajd = 'handsome'# speaker = f'''Hi {name}.
# You are {age} years old.
# You are a {ajd} guy!'''

speaker = f'Hi {name}.'\f'You are {age} years old.'\f'You are a {ajd} guy!'
print(speaker)

View Code

  5.其他细节

print(f"{{73}}")  # {73}
print(f"{{{73}}}")  # {73}
print(f"{{{{73}}}}")  # {{73}}
m = 21
# ! , : { } ;这些标点不能出现在{} 这里面。
# print(f'{;12}')  # 报错
# 所以使用lambda 表达式会出现一些问题。
# 解决方式:可将lambda嵌套在圆括号里面解决此问题。
x = 5
print(f'{(lambda x: x*2) (x)}')  # 10

View Code

总结:

  f-string的格式化输出更加简洁,方便,易读。而且他的处理速度对之前的%s 或者format 有了较高的提升,所以以后尽量使用此种格式化输出。

参考文献:https://mlln.cn/2018/05/19/python3%20f-string%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95/

转载于:https://www.cnblogs.com/jin-xin/articles/10478209.html

Python持续更新的新特性相关推荐

  1. 火了!16岁高中生做的 Python 3.9 八大新特性图

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI Python3.9,「千呼万唤始出来」. 先来速看下此次发布版本的重点. 新语法特性: PEP 584,为 dict 增加合并运算符. PE ...

  2. word python api_Word自动化(C# + Python)(持续更新中...)

    目录 前言 读取Word内容 NPOINPOI安装 NPOI提取Word内容 用Costura.Fody打包DLL python-docx 读取PDF内容 python-docx自动生成Word 全局 ...

  3. Python 3.6部分新特性

    Python 3.6.0于2016年12月23日正式发布,除了本文提到的这一部分比较重要的新特性之外,还有很多标准库也新增了部分功能,等有时间再慢慢整理. 1.内置字典对象dict进行了重新设计,可以 ...

  4. 【鸿蒙学院】鸿蒙(HarmonyOS)IDE迎来重大更新,新特性足以让你尖叫!

    目录 1. 双向预览功能 2.Java UI 数据模拟 3. 新增的测试框架 鸿蒙(HarmonyOS)最新版的IDE Beta3于2021-03-31日发布,beta3增加了很多吸引人的功能,这些功 ...

  5. python 3.10 的新特性用不到,你来打我!!!

    文 | 某某白米饭 来源:Python 技术「ID: pythonall」 python 3.10 已经在 10月 4 号发布了,这次更新了错误语法提示对 python 新手更加友好.好几个新的特性非 ...

  6. Java 16 新特性:record类

    以前我们定义类都是用class关键词,但从Java 16开始,我们将多一个关键词record,它也可以用来定义类.record关键词的引入,主要是为了提供一种更为简洁.紧凑的final类的定义方式. ...

  7. Java 17 新特性:密封类

    Java 17推出的新特性Sealed Classes经历了2个Preview版本(JDK 15中的JEP 360.JDK 16中的JEP 397),最终定稿于JDK 17中的JEP 409.Seal ...

  8. Python 3.9来了!这十个新特性值得关注

    选自towardsdatascience 作者:Farhad Malik 机器之心编译 编辑:陈萍 近日,Python 3.9 发布,并开发了一些新特性,包括字典合并与更新.新的解析器.新的字符串函数 ...

  9. 您应该知道Python 3.10中的新特性!

    Hello,大家好,我是Alex,欢迎来到每周博客! 这篇博客来给大家介绍一下Python 3.10的新特性. Python 3.10版本带来了一些很棒的新功能和改进. 结构模式匹配 结构模式匹配可以 ...

最新文章

  1. .net获取ip地址
  2. 通过反射来创建对象?getConstructor()和getDeclaredConstructor()区别?
  3. List集合的迭代器方法
  4. SVM学习笔记1-问题定义
  5. Dynpro程序抬头信息要求多值输入的解决方法
  6. python中while与else的联姻
  7. Autofs实现文件系统的自动mount
  8. web安全day13:简单深透测试流程
  9. c++学习书籍推荐及理由
  10. 适合产品经理不同阶段的书籍和课程
  11. 从B树谈到R树之B树的c实现
  12. MSD3393/MSD3463 屏参及REG对照表
  13. 批量修改文件内容(Python版)
  14. 【无标题】人工智能的定义
  15. vivo Z1i的usb调试模式在哪里,打开vivo Z1iusb调试模式的流程
  16. 最安全的邮箱-Gmail
  17. 《Elixir In Action》第一章--第五章笔记
  18. 汉诺塔小游戏 c语言
  19. ADI Blackfin DSP处理器-BF533的开发详解67:PCM的播放(含源码)
  20. 本周AI热点回顾:GPT-3开始探索付费使用;这个视频「橡皮擦」让你瞬间消失;英伟达最强消费级显卡RTX 3090出炉

热门文章

  1. 第6章 数据存储全方案,详解持久化技术
  2. dirname和basename命令
  3. win7 安装mysql 5.7.9记录
  4. display与visibility区别
  5. java 中的对象序列化
  6. java merge json出错删除相同的json
  7. C#:导入Excel通用类(CSV格式)
  8. 2017-12-04HTML布局_div布局
  9. grunt之filerev、usemin
  10. Java nio Socket非阻塞模式