gpt4 book ai didi

python - 导入应该在 Python 类内部还是外部?

转载 作者:太空宇宙 更新时间:2023-11-04 09:00:48 25 4
gpt4 key购买 nike

概览

假设我正在构建一个通用类:我可能需要在任何地方导入它,在其他几个文件中使用它,等等。导入应该在类之前进行,如:

import foo

class Bar():

def __init__(self):
foo.spam()

或者在__init__方法中,如:

class Bar():

def __init__(self):

import foo

foo.spam()

我的分析

外面

+ 将 foo 带入全局命名空间以在整个 Bar

中使用

- 导入 Bar 还需要您手动导入 foo(@MartijnPieters 等人)

里面

+ 避免在实际需要之前加载 foo

+ fooBar 实例化时加载导入(和使用) (@BrenBarn)

- foo 在别处不可用

最佳答案

通常所有导入都在模块的顶部。这使得通过目视检查或在像 pyflakes 这样的代码检查器中一目了然地看到模块的依赖关系变得容易。您假设“导入 Bar 还需要您手动导入 foo”是错误的。

只有当导入非常耗费资源(例如,速度慢)或不可靠(例如,可能未安装的可选依赖项、特定于平台的模块或容易损坏的模块)时,您才会在函数或方法中导入),并且客户端代码不应该总是调用有问题的函数。

关于python - 导入应该在 Python 类内部还是外部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25650710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com