python - 导入/导入方法之间有区别吗?

标签 python

这两个进口之间有什么区别吗?导入范围除外。

内部或外部导入
当然,如果外部已经存在,内部导入将无用

import os

class foo(object):
    def bar(self):
        import os
        path = os.path.join('foo', 'bar')

最佳答案

它们在不同的时间执行。函数里面的那个只有在方法执行的时候才会执行,每次调用方法的时候都会执行。这通常不是问题(通常,模块只加载一次,您只是获得对同一对象的另一个引用),但有些人可能会发现它在哲学上令人反感,并且如果其他代码可能会有不同的行为使用 sys.modules 或 import hooks 做一些愚蠢的事情。

异常(exception)是 from ... import * 除了模块级别:它在 Python 3 中是非常不鼓励的,甚至是非法的。

关于python - 导入/导入方法之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20926531/

相关文章:

python - 如何获得 NumPy 数组的描述性统计信息?

Python 文件存在性检查循环崩溃 - 除非我添加打印语句

python - 我的小部件不想消失

python - 在 Google App Engine 中使用 "requests"模块的 HTTPS 获取失败

python - 如何从数字的数字生成单链表?

python - Python 时间戳的 24 小时格式

Python str 与 unicode 类型

python - 在 Python 中从二维数组中选择特定的正值

python - Python C 扩展中的内存泄漏

python - 如何在同一数据框中合并 pandas 列?