1. 格式化字符串字面量
PEP 498 引入了 f-string,一种新型的字符串文字。中文翻译是“格式化字符串文字”。
此类字符串以 f 为前缀,类似于 str.format() 方法接受的字符串。其中的可替换字段包装在 {} 中并在运行时进行评估。
具体代码示例:
>>> width = 10
>>> precision = 4
>>> value = decimal.Decimal("12.34567")
>>> f"result: {value:{width}.{precision}}" # nested fields
'result: 12.35'
2. 变量注释语法
以前,Python 添加了一个用于注释函数变量类型的标准,称为类型提示。在 Python 3.6 中,根据 PEP 526 的提议,增加了注解更多变量类型的能力,包括类变量和实例变量。
具体代码示例:
captain: str # 未设置初始值
class Starship:
stats: Didct[str, int] = {}
与静态语言中的变量声明不同,Python 中的变量声明提供了结构化类型元数据,以方便第三方工具和库。将使用新语法的工具包括:mypy、pytype、PyCharm 等。
3. 数字字面量使用下划线
对于较大的数字,如果数字过多,则很难判断该值有多大。新版本现在允许你在数字文字中使用下划线来提高可读性。
具体代码示例:
>>> 1_000_000_000_000_000
1000000000000000
>>> 0x_FF_FF_FF_FF
4294967295
4. 异步生成器
在上一个版本中,Python 引入了对原生协程的支持,可以使用 async 或 await 语法,但存在一个限制,即不能在同一个函数体中使用 await 和 yield。这个限制在 3.6 版本中被取消,因此将来可以定义异步生成器。
具体代码示例:
async def ticker(delay, to):
"""Yield numbers from 0 to *to* every *delay* seconds."""
for i in range(to): yield i
await asyncio.sleep(delay)
使用新语法,你可以使你的代码更简洁,运行更快。
5. 异步推导
理解本身是 Python 中一个很好的语法糖。在新版本中,它将获得重大升级。 PEP 530 建议在列表、元组、字典推导或生成器表达式中使用异步语法。
这样就将原有各种推导式变成了可支持异步。
同时,推导式中还支持使用 await 表达式。
以上就是 3.6 版本中新增的 5 大特性:
·
格式化字符串字面量
·
变量注释语法
·
数字字面量使用下划线
·
异步生成器
·
异步推导
新版本还增加了一些新的库,听说重新实现了字典类型,里面的元素会被排序。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在 Python 中转换字符串大小写11/11
- ♥ 如何使用python getattr函数?12/10
- ♥ 如何安装mongodb10/09
- ♥ 如何用 anaconda 打开 ipython?10/03
- ♥ 如何在python中生成随机数08/19
- ♥ python中的逻辑回归算法是什么?10/29
内容反馈