当前位置: 首页 > 面试题库 >

Python中导入的模块/功能的范围

范书
2023-03-14
问题内容

我是新来的,不是100%知道如何问这个问题,所以我就直接学习。我应该在每个函数的开头使用import语句,编写所有需要导入的所有模块/函数的函数。该功能的范围?即

def func1()
    import os.path
    print func(2)
    do something with os.path

def func2()
    import os.path
    do something with os.path

这会增加内存开销或其他开销,还是import语句只是将本地名称映射到已加载的对象?有更好的方法吗?(非常欢迎转到教程等的链接。我已经找了一段时间,但找不到很好的答案。)


问题答案:

该模块仅在首次导入时进行处理;随后的导入将仅复制对本地范围的引用。但是,最好是在可能的情况下将其导入模块顶部的样式。有关详细信息,请参见PEP 8。



 类似资料:
  • 根据这个答案,您可以使用来使用类似这样的相对导入: 为什么相对导入不适用于sklearn。特征提取。文本 我验证了是一个具有以下功能的模块: 编辑 “不工作”,我的意思是它不导入模块。 我正在使用Python 3.4 绝对方式工作: 相对方式不:

  • 问题内容: 我对像numpy这样的库如何工作有疑问。导入时,我可以访问许多内置的类,函数和常量,例如,等等。 但是在numpy中,还有其他子模块,例如numpy.testing。 怎么做?以我有限的经验,带有子模块的模块只是带有文件的文件夹,而带有功能/类的模块是实际的python文件。如何创建一个同时具有功能/类的模块“文件夹”? 问题答案: 包含文件和的文件夹称为。包含类和函数的文件之一是。文

  • 问题内容: 导入Numpy后,假设我要删除/删除numpy导入参考 问题答案: 不支持从Python卸载模块。

  • 问题内容: 我想了解如何从导入的模块执行功能。 这是我到目前为止的位置。 app / mocking.py: app / my_module / init.py: 测试/模拟测试.py: 这不 符合 我的预期。“已修补”模块仅返回的未模拟值。如何模拟要导入到被测名称空间中的其他包中的方法? 问题答案: 当您从包中使用装饰器时,您 未在 修补名称空间(从本例中导入模块),而是在被测试的名称空间中对其

  • 主要内容:import 模块名 as 别名,from  模块名 import 成员名 as 别名使Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库。比如说,在前面章节中,我们使用了一些数学函数,例如余弦函数 cos()、绝对值函数 fabs() 等,它们位于 Python 标准库中的 math(或 cmath)模块中,只需要将此模块导入到当前程序,就可以直接拿来用。 前面章节中,已经看到使用 import 导入模块的语法,但实际上

  • 我需要在Python中导入一个名为array_queue的模块。我检查了一下,如果我不使用它,就会出现一个提示:“array_queue imported but unused”。但是,如果我使用它并运行该程序,则会出现以下情况: ModuleNotFounderRror:没有名为“array_queue”的模块

  • 3.3 Python模块导入 与C++类似的,在Python中导入其他模块时,也需要相关处理。 需求:首先新建一个Python文件A,再创建Python文件UseA,在UseA中导入A并调用A的实现。 实现: 新建两个Python文件,使用 import 实现导入关系; 添加可执行权限、编辑配置文件并执行UseA。 1.新建两个Python文件并使用import导入 文件A实现(包含一个变量):

  • 问题内容: 我正在尝试使用该软件包在R中导入python模块。该模块可以在这里找到。我克隆了存储库并运行成功。如果打开python shell,则可以导入。但是,当我尝试将其导入RStudio时,出现以下错误: 我在macOS Sierra版本10.12.6上并通过Anaconda安装了python 3.6。我也尝试过给出python的路径为: 当我从终端运行python时,我得到: 不确定pyt