Python 何时导入文件底部的模块
当我读取文件Python 何时导入文件底部的模块,python,Python,当我读取文件riak python client/riak/riak\u object.py时。在文件的底部,我看到了这个 from mapreduce import * 它有什么用?为什么只在文件顶部导入呢。您可以在文件中的任何位置使用导入;您只需确保在导入模块之前不要尝试使用模块中的内容 如果这实际上是文件中运行的最后一行,那么它就没有任何用途。如果它位于文件的底部,但在某个函数或方法中,则可能意味着该函数/方法不经常运行,作者不希望每次运行程序时都要导入mapreduce。我不知道该项目
riak python client/riak/riak\u object.py
时。在文件的底部,我看到了这个
from mapreduce import *
它有什么用?为什么只在文件顶部导入呢。您可以在文件中的任何位置使用
导入
;您只需确保在导入模块之前不要尝试使用模块中的内容
如果这实际上是文件中运行的最后一行,那么它就没有任何用途。如果它位于文件的底部,但在某个函数或方法中,则可能意味着该函数/方法不经常运行,作者不希望每次运行程序时都要导入
mapreduce
。我不知道该项目的具体原因,但只需将导入放在文件的顶部即可。这使得依赖项更容易跟踪,这是推荐的
从技术上讲,由
import
语句导入的代码只有在执行import
语句后才可用。这意味着,当您将其放在文件的底部时,您不能使用在该文件中导入的任何内容(在模块级别)。该文件中的函数可以使用导入。。。但这只是一种不好的做法。唯一的原因是riak_对象(它似乎不需要mapreduce
?)将所有值(或\uuuu all\uu
指定的值)带入其命名空间从mapreduce
作为某种便利。这是为了将所有模块mapreduce
放在riak_对象
命名空间中。如果将此导入放在riak_object.py
的顶部,则会出现错误,因为mapreduce
从riak_object
导入RiakObject
,该对象尚未定义