Python中的__future__是什么,以及如何/何时使用它以及如何工作

发布于 2021-01-29 15:00:17

__future__经常出现在Python模块中。__future__即使阅读了Python的__future__文档,我也不明白它的用途以及使用时间/方式。

有人可以举例说明吗?

关于__future__我收到的基本用法的一些答案似乎是正确的。

但是,我需要了解有关__future__工作原理的另一件事:

对我来说,最令人困惑的概念是当前的python版本如何包含未来版本的功能,以及如何使用当前版本的Python成功地编译使用未来版本的功能的程序。

我猜想当前版本包含了将来的潜在功能。但是,这些功能仅可通过使用获得,__future__因为它们不是当前标准。让我知道我是否正确。

关注者
0
被浏览
160
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    通过__future__包含模块,您可以慢慢习惯不兼容的更改或引入新关键字的更改。

    例如,对于使用上下文管理器,您必须from __future__ import with_statement在2.5中完成操作,因为with关键字是new,并且不应再用作变量名。为了with在Python
    2.5或更早版本中用作Python关键字,您将需要使用上面的import。

    另一个例子是

    from __future__ import division
    print 8/7  # prints 1.1428571428571428
    print 8//7 # prints 1
    

    没有这些__future__东西,两个print语句都会打印出来1

    内部差异在于没有导入时,/映射到__div__()方法,同时使用导入__truediv__()。(无论如何,请//致电__floordiv__()。)

    Apropos printprint在3.x中成为函数,失去其特殊属性作为关键字。反之亦然。

    >>> print
    
    >>> from __future__ import print_function
    >>> print
    <built-in function print>
    >>>
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看