我仍然对python很新,我想知道x.y语句是否意味着y是x的子模块?如果是这样,请不要执行命令:
import matplotlib.pyplot as plt
只导入这个特定的子模块而没有别的?我必须这样做才能访问hist
函数。在调用import matplotlib as plt
时,这对正常导入的模块有何影响?我可以在plt名称下将matplotlib中的所有模块放在一起吗?
我知道这个问题与what is the difference between importing python sub-modules from NumPy, matplotlib packages有关但是这个问题的答案并没有告诉我matplotlib中是否还有其他内容导入,以及如何导入所有matplotlib而不必担心子模块遗漏了
答案 0 :(得分:6)
看看这个代码库树:matplotlib包含一个代码库,而pyplot只是这个lib的文件。
import matplotlib
将导入此repo中的所有文件。例如,使用它:
import matplotlib as mpl
mpl.pyplot.plot(...)
导入pyplot:
from matplotlib import pyplot as plt
# or
import matplotlib.pyplot as plt
plt.plot(...)
一个问题:你使用什么控制台?我猜它是Ipython控制台还是什么?
修改强>:
要导入全部:
from matplotlib import *
pyplot(...)
为什么我猜你正在使用Ipython? Ipython控制台默认在启动时从numpy和其他一些库导入所有模块,因此在Ipython控制台中您可以简单地使用:sqrt
,而不是import math; math.sqrt
等。默认情况下,在Ipython中导入matplotlib。
答案 1 :(得分:1)
我不知道从每个子模块导入所有函数的任何方法。从子模块导入所有函数可能与您建议的方式一样。 from matplotlib.pyplot import *
。
注意导入每个功能的潜在问题;您可以通过定义具有相同名称的自己的函数来覆盖导入的函数。 E.g:
from matplotlib.pyplot import *
def plot():
print "Hello!"
plot()
会输出
Hello!
答案 2 :(得分:0)
我安装了conda,它为〜/ .bashrc添加了一些东西。
评论使它对我有用。