我们在使用python时,当导入模块并使用方法时会遇见如下三种情况:
- import module_name ;
- from module_name import *;
- from module_name import class_name;
联系
目的相同,均是为了导入模块(或模块中的特定类),以便使用该模块的特定类的方法。
区别
区别1:第1种方法、第2种和第3种的区别
若知道具体要导入的类,则可以采用第3种方法,例如:若已经知道要使用 matplotlib模块中的pyplot类,则可采用from matplotlib import pyplot。
若不知道需要导入的模块是哪个,则可以使用第1种方法、第2种方法。
区别2:第1种方法、第2种的区别
区别主要体现在用法上,即代码有差异。
当使用第一种方法 import module_name时,是将整个模块导入,使用时必须包含模块名,例如:m = matplotlib.pyplot();当使用第二种方法from module_name import *时,是将模块中所有的类都导入,此时的优点是代码变得简洁,使用时不需要再导入模块名,例如:n=pyplot(),但是这种方法也有一个很大的缺陷,即:当文件名和类名相同时,容易产生错误,故而该种方法应尽量避免使用。
网友评论