我想这是一个简单的问题,但为什么是(Python 3.7.1)
import matplotlib.cm
与
不同from matplotlib import cm
?
尝试了第一种方法,在调用模块时出现此错误:
NameError: name 'cm' is not defined
第二种方法很好用。这是import语句中的微妙之处还是模块的本质?
答案 0 :(得分:0)
在第一种情况下,您仅导入matplotlib
模块的一部分,但保留名称空间matplotlib.cm
-因此,您必须使用冗长的名称空间来访问cm
。
在第二种情况下,您仅将matplotlib
模块的一部分导入到cm
名称空间中。
要有效地进入ScalarMappable
中的matplotlib.cm
(示例)类,您必须使用:
matplotlib.cm.ScalarMappable
cm.ScalarMappable