codecamp

Python future 导入规范 | Google 官方现代语法指南

现代python: from future imports

Tip

可以通过导入 __future__ 包,在较老的运行时上启用新语法,并且只在特定文件上生效。

定义:

通过使用 from __future__ import 并启用现代的语法,可以提前使用未来的 Python 特性。

优点:

实践表明,该功能可以让版本升级过程更稳定,因为可以逐步修改各个文件,并用这样的兼容性声明来防止退化 (regression)。现代的代码便于维护,因为不容易积累那些阻碍运行时升级的技术债。

缺点:

此类代码无法在过老的运行时上运行,过老的版本可能没有实现所需的 future 功能。 这个问题在那些需要支持大量不同环境的项目中尤为明显。

结论:

from __future__ imports

鼓励使用 from __future__ import 语句。这样,你的源代码从今天起就能使用更现代的 Python 语法。当你不再需要支持老版本时,请自行删除这些导入语句。 如果你的代码要支持 3.5 版本,而不是常规的 >=3.7,请导入:

from __future__ import generator_stop

详情参见 Python future 语句 的文档。 除非你确定代码的运行环境已经足够现代,否则不要删除 future 语句。即使你用不到 future 语句,也要保留它们,以免其他编辑者不小心对旧的特性产生依赖。 在你认为恰当的时候,可以使用其他来自 from __future__ 的语句。

Python 禁用的黑魔法 | Google 官方避坑指南
Python 类型注释规范 | Google 官方 PEP-484 实践
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }