昨天我们聊了一下Python3.8一些新特点,今天继续说几个Python世界的大事件。
说三件事。
1 Guido van Rossum退出了Python筹划指导委员会
Guido:“我的部分原因是,最终,SC职责对我来说更像是一项琐事,而不是乐趣,而Dropbox退休后我一生中想要完成的一件事情是有更多的乐趣。对我来说,乐趣包括在Python中编程并为Python做出贡献,例如PEG解析器项目。” (Python官网)
PEG解析器指的就是Guido大叔在GitHub第一个项目了。刚刚还在更新,快去关注~
地址在这:https://github.com/gvanrossum?tab=repositories
头像很帅!
2 PyCharm更新,pro功能真香
PyCharm 2019.3 发布了,这个版本中好玩功能很多。特别是pro版本。从官网拿几个图,大家感受一下:
(JETBRAINS官网)
为了提供更多的交互性,Jupyter笔记本电脑支持称为“ 交互小部件”的交互控件。这些控件使您可以将静态笔记本转变为交互式仪表板,从而使那些查看笔记本的用户可以自定义视图。在此更新中,PyCharm添加了对交互式小部件的支持。这意味着窗口小部件将随输出一起呈现,并且可以像处理本机Jupyter笔记本一样用于操纵笔记本。
通过使用PyCharm对TypedDict的支持,避免为字典分配错误的值。为您的键值对结构获得精确的表示,让我们的代码编辑器为您提供正确的使用方法。
使用Python 3.8的Literal
类型注释来检查类型,还可以检查特定值。
通过从数据库工具窗口(视图|工具窗口|数据库)添加数据源来连接数据库。PyCharm Professional Edition附带了 JetBrains DataGrip(JetBrains制造的专业SQL IDE)的所有数据库功能。
要知道,DataGrip单独买可以不便宜呢。这个功能合进来特别的赞。关注Python随身听,后期会聊一聊Python与各种数据库的操作。
在新版本的PyCharm中,分支比较功能看起来更好,并且可以使您快速了解哪些提交使两个分支之间产生差异。
3 Django 3.0发布
这次更新还是满让DE8UG兴奋的,因为正式开始支持MariaDB,支持ASGI,还有一些不错的功能更新。
更新文档节选如下:
这些发行说明涵盖了新功能,以及从Django 2.2或更早版本进行升级时需要注意的一些向后不兼容的更改。我们已经 删除了一些已经过时的功能,并且已经开始了某些功能的过时过程。
如果要更新现有项目,请参阅《将Django升级到较新的版本指南》。
Python兼容性¶
Django 3.0支持Python 3.6、3.7和3.8。我们强烈建议并且仅正式支持每个系列的最新版本。
Django 2.2.x系列是最后一个支持Python 3.5的系列。
第三方库对旧版本Django的支持¶
在Django 3.0发行之后,我们建议第三方应用程序作者放弃对2.2之前的所有版本的Django的支持。那时,您应该能够使用来运行软件包的测试,以便出现弃用警告。修复过时警告之后,您的应用应与Django 3.0兼容。python -Wd
Django 3.0的新功能¶
MariaDB的支持¶
Django现在正式支持MariaDB 10.1和更高版本。有关更多详细信息,请参见MariaDB注释。
ASGI支持¶
Django 3.0通过提供对作为ASGI应用程序运行的支持,开始了使Django具有完全异步功能的旅程。
这是对我们现有的WSGI支持的补充。Django打算在可预见的将来为这两者提供支持。但是,异步功能仅对在ASGI下运行的应用程序可用。
除非您想开始尝试异步代码,否则无需切换应用程序,但是如果您想了解更多信息,我们有 关于使用ASGI进行部署的文档。
请注意,作为此更改的副作用,Django现在知道异步事件循环,并将阻止您从异步上下文中调用标记为“异步不安全”的代码(例如ORM操作)。如果您之前使用的是异步代码中的Django,则操作不正确可能会触发它。如果看到SynchronousOnlyOperation错误,请仔细检查代码并将所有数据库操作移至同步子线程中。
PostgreSQL的排斥约束¶
新ExclusionConstraint类允许在PostgreSQL上添加排除约束。使用Meta.constraints选项将约束添加到模型 。
过滤器表达式¶
BooleanField现在,可以直接在QuerySet过滤器中使用输出的表达式,而不必首先注释,然后针对注释进行过滤。
模型字段选择的枚举¶
自定义枚举类型TextChoices,IntegerChoices和Choices 现在作为一个的方式来定义Field.choices。为文本和整数字段提供了类型TextChoices 和IntegerChoices类型。在 Choices类允许定义为其他具体的数据类型兼容的枚举。这些自定义枚举类型支持人类可读的标签,可以通过枚举或其成员上的属性来翻译和访问这些标签。有关更多详细信息和示例,请参见枚举类型。
(DJANGOPROJECT官网)
本篇文章由一文多发平台ArtiPub自动发布