是 "from matplotlib import pyplot as plt" == "import matplotlib.pyplot as plt"?

Is "from matplotlib import pyplot as plt" == "import matplotlib.pyplot as plt"?

from matplotlib import pyplot as plt

import matplotlib.pyplot as plt 

以上说法是否等价?哪个更readable/better形式?

它们的工作原理相同,所以取决于您喜欢哪种,我个人不喜欢打字,所以我更喜欢第二种。

from matplotlib import pyplot as plt

import matplotlib.pyplot as plt1

print(dir(plt) == dir(plt1))
True

尽管它们是等价的,但我认为有一个很好的论据表明第二种形式 import matplotlib.pyplot as plt 客观上更具可读性:

  1. 通常习惯使用 import matplotlib.pyplot as plt 并在 matplotlib 文档中建议使用(参见 http://matplotlib.org/users/pyplot_tutorial.html 等...)所以大多数人会更熟悉 readers.

  2. import matplotlib.pyplot as plt 更短但同样清晰。

  3. import matplotlib.pyplot as plt 给一个不熟悉的 reader 一个提示,即 pyplot 是一个模块,而不是一个可以从第一种形式错误假设的函数。

是的,两者是一样的。 这取决于你喜欢导入什么。

我个人喜欢写作:

from matplotlib import pyplot as plt

因为它看起来更清晰干净。

刚刚注意到一个案例使这两个语句对我的工作方式不同

import matplotlib
import matplotlib.pyplot as plt
matplotlib.use('Qt5Agg')

plt.plot(list(range(10)))

以上代码运行良好。 但是如果我把第二行写反了,

import matplotlib
from matplotlib import pyplot as plt
matplotlib.use('Qt5Agg')

plt.plot(list(range(10)))

上面的方法不起作用,进程在“matplotlib.use('Qt5Agg')”处停止。 进程已完成,退出代码为 -1073741571 (0xC00000FD)

这发生在 IDE 中,例如 Spyder 控制台或 Pycharm 控制台。感觉跟后台用的有点关系,我也不清楚。