我看了一下source code for __future__.py,這對我來說沒有意義 - 這個實際上是如何工作的,以改變師的行爲?Python如何處理「from __future__ import division」?
3
A
回答
4
該模塊僅用於記錄/內省目的;其中沒有任何代碼確實是什麼。
相反,當Python是編譯的模塊,它調用的模塊,該模塊檢查from __future__ import
報表上PyFuture_FromAST,並假設他們是有效的,一個PyFutureFeatures
對象sets the appropriate flags。然後在編譯模塊之前,編譯器會去並且sets those flags in the compiler context。
爲了進行比較,你可以看到,在Python 3,__future__.py
仍然是相同的,幷包含了所有的信息相同,但在future.c
,none of the features actually set any flags因爲所有這些功能默認情況下,在Python 3
相關問題
- 1. 「from _json import ...」 - python
- 2. 在我的程序中使用「from __future__ import division」,但它沒有加載我的程序
- 3. __future__ import with_statement需要哪個python版本?
- 4. from __future__ import absolute_import not working?子模塊不可見
- 5. 那麼「from __future__ import barry_as_FLUFL」究竟做了什麼?
- 6. 推理Python背後的`from ... import ...`語法
- 7. Python中的「from some_module import *」Lua
- 8. from collections import OrderedDict and python version
- 9. 「from。import views」:Unresolved import
- 10. from pyspark.sql.types import Row和from pyspark.sql import行
- 11. `from x import y` vs.`from x.y import *`
- 12. python float division不起作用
- 13. rPython和進口__future__
- 14. from pylab import plot
- 15. ES6`export * from import`?
- 16. 我可以在主導入文件中使用「from __future__ import unicode_literals」嗎?
- 17. 我可以使用「from __future__ import」來克服pandas中「排序」的API更改嗎?
- 18. 爲什麼不能從Python中的__future__ import formatted_string_literals <3.6?
- 19. 的Python __future__特定模塊
- 20. Python相對輸入語法:`from。 import abc.xyz`
- 21. from bs4 import BeautifulSoup Error
- 22. from xml.dom import DOMImplementation,DocumentType
- 23. from pygtk_image import *錯誤
- 24. ZeroDivisionError:float division` in python
- 25. Python:「import X」和「from X import *」有什麼區別?
- 26. dom4j如何處理<import>?
- 27. 如何處理plpython中的import語句?
- 28. Webpack 2如何處理@import語句?
- 29. 你如何「從__future__進口部門」在boost :: python?
- 30. 如何解釋「import my_module」和「from my_module import my_str」之間的區別?
啓用我的猜測會是'compiler_flag'可能會向編譯器發出信號以改變分區 – Natecat
有趣......也許我只是不明白'import'是如何工作的;我認爲它評估了有問題的模塊,然後創建了一個模塊對象,這個模塊對象可以被帶入命名空間範圍的全部或單個屬性('from xyz import abc')。但是看看'__future __。py'好像是如果這個模塊被評估了,那麼所有的功能都應該被啓用。 '__future__ import XYZ'如何在'__future __。py'中挑選對象的創建? –