python 3.8 新特性_python3.8新特性

5eddca82e189c53d51927eabe4fe1553.png

python3.8新特性

Python3.8稳定版已发布,官网发布了一篇介绍新特性的文章,在此记录一下。

新增赋值操作符:=

作用:把较大表达式中的某部分值赋给变量,因为看起来像海象的眼睛和牙齿,:= 操作符有个特别的名字:海象操作符

范例1:if (n := len(a)) > 10: print(f"List is too long ({n} elements, expected <= 10)")

用了 := ,避免调用 len() 两次。

新增(仅限位置参数)的语法符号 /

作用:表明一些函数的参数,必须指定位置,并且不能用作关键字参数。

范例def f(a, b, /, c, d, *, e, f): print(a, b, c, d, e, f)

在这个例子中,参数 a 和 b 是仅限位置参数的,而 c 或 d可以是仅限位置参数,也可以是关键字参数,e 和 f 必须是关键字参数。

新增 PYTHONPYCACHEPREFIX 设置 (-X pycache_prefix)

作用:把隐式字节码缓存,配置为使用单独的并行文件系统树,而不是在每个源目录中使用缺省的 pycache 子目录。

调试版本与发行版本共享 ABI

f 字符串新支持 = 说明符,用于自记录表达式和调试

f 字符串是格式化的字符串文字,它是在 Python 3.6 中引入的,已经非常流行。

这次在 v3.8 中新增支持 = 说明符。>>> user = 'eric_idle'>>> member_since = date(1975, 7, 31)>>> f'{user=} {member_since=}'"user='eric_idle' member_since=datetime.date(1975, 7, 31)"

>>> delta = date.today() - member_since>>> f'{user=!s} {delta.days=:,d}''user=eric_idle delta.days=16,075'

PEP 578: Python Runtime Audit Hooks / 运行时审计挂钩

PEP 添加了审计挂钩和验证开放挂钩。这两个版本都可以从 Python 和原生代码(native code)中获得,允许用纯 Python 代码编写的应用程序和框架利用额外的通知,同时还允许嵌入式人员或系统管理员在始终启用审计的情况下部署 Python 构建。

PEP 587: Python Initialization Configuration

PEP 587 添加了一个新的 C API,来配置 Python 初始化,提供对整个配置的更好控制和更好的错误报告。

其他

continue 终于可以合法出现 finally: 块中了;

在 Windows ,默认的异步(asyncio)事件循环改成了 ProactorEventLoop

在 macOS 上, spawn start 方法默认加到 multiprocessing 中了

现在multiprocessing可以使用共享内存段,来避免进程间的 pickle 开销;

typed_ast 被合并回 CPython 了;

LOAD_GLOBAL 现在快了 40%;

pickle 现在默认使用协议 4,提高了性能;

众多python培训视频,尽在python学习网,欢迎在线学习!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值