gpt4 book ai didi

python - 如何只在必要时导入模块并且只导入一次

转载 作者:行者123 更新时间:2023-12-05 03:35:49 26 4
gpt4 key购买 nike

我有一个可以使用 matplotlib 绘制的类,但它也可以(并且将会)在不绘制的情况下使用。

我只想在必要时导入 matplotlib,即。如果在类的实例上调用 plot 方法,但同时我想只导入一次 matplotlib。

目前我做的是:

class Cheese:
def plot(self):
from matplotlib import pyplot as plt
# *plot some cheese*

..但我想这可能会导致多次导入。

我可以想出很多方法来完成只导入一次,但它们并不漂亮。

执行此操作的漂亮且“pythonic”方式是什么?

我并不是说这是“基于意见”的,所以让我澄清一下我所说的“漂亮”是什么意思:

  • 使用最少的代码行。
  • 最易读
  • 最有效率
  • 最不容易出错等

最佳答案

如果模块已经加载,则不会再次加载。你只会得到一个引用。如果你不打算在本地使用这个类,只想满足 typehinter 那么你可以执行以下操作

#imports
#import whatever you need localy
from typing import TYPE_CHECKING

if TYPE_CHECKING: # False at runtime
from matplotlib import pyplot as plt

关于python - 如何只在必要时导入模块并且只导入一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69775650/

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