我一直使用from a import b,但最近一个团队在工作决定一个模块移动到一个新的命名空间,并发出警告通知,告诉人们,以取代import b用import a.b as b.
我从未使用过import as,我能找到的唯一文档似乎表明它不支持import a.b as b,但显然它确实如此.
但实际上是否存在差异,如果是这样的话?
据我所知,如果我错了,请纠正我。
首先,import a.b必须导入一个模块(一个文件)或一个包(一个目录包含__init__.py)。
例如,您可以import tornado.web as web,但不能import flask.Flask as Flask作为Flaskpackage 中的对象flask。
其次,还要导入不会的名称import a.b空间。您可以通过 来检查。afrom a import bglobals()
那么有什么影响呢?例如:
import tornado.web as web
Run Code Online (Sandbox Code Playgroud)
现在您可以访问命名空间,但即使有此模块也tornado无法访问。但作为Python的全局包管理,如果你,你不仅可以访问而且还可以将其添加到命名空间中。所以现在您还可以通过访问。tornado.optionstornadofrom tornado import optionsoptionstornadooptionstornado.options
| 归档时间: |
|
| 查看次数: |
1221 次 |
| 最近记录: |