专栏名称: Python程序员杂谈
关注PythonWeb开发及相关领域的方方面面,分享在实际工作中遇到的问题及解决方案。关注the5fire,了解Python开发的点点滴滴。
目录
相关文章推荐
为你读诗  ·  人各有花期,不必在意别人比你提前拥有 ·  20 小时前  
天都新闻  ·  二月二,龙抬头 ·  2 天前  
天都新闻  ·  二月二,龙抬头 ·  2 天前  
滨海融媒  ·  书香时光 阅美滨海|剪纸民俗的文化阐释 ·  2 天前  
51好读  ›  专栏  ›  Python程序员杂谈

不太好升级的Python 3.7

Python程序员杂谈  · 公众号  ·  · 2018-06-28 07:33

正文

Python3.7 新特性

  • 延迟加载的annotations,依赖 from __future__ import annotations

  • datacalsses,可以看@伟明的文章,有详细介绍: http :// www . dongwm . com / archives / attrs -% E5 % 92 % 8C - Python3 - 7 -% E7 % 9A % 84 - dataclasses / (attrs 和 Python3.7 的 dataclasses),:

    @dataclass class Point: x: float y: float z: float = 0.0

  • breakpoint() - 省了每次都要 import pdb;pdb.set_trace()

最升级影响比较大的是: * async和await是保留字了,意味着很多如果你项目里有定义这样的变量名就会报错。

其他的特性看网上介绍吧,有翻译。

刚才@伟明更新的一篇关于PEP 562的文章 《Python 3.7 中的 PEP 562》 可以看看。

历史的惯性和轮回

Python 3.7即将发布,但是要迁移上去并不容易,最大的一个问题在于async作为了保留字。在很多第三方库中多多少少会存在把模块或者变量定义为 async 的情况,即便是 async 已经出现了多年。

其他的库不知道,我只说我用到的库。在Guido发了关于3.7b4 release时我就进行了尝试,发现Celery和Kombu完全不能启动,直接抛出:SyntaxError: invalid syntax。







请到「今天看啥」查看全文