如果我们要导入的模块在不同的包中,该如何导入呢?
可以用 from 包名 import 模块名 或者 from 包名.模块名 import 模块中的代码(如变量、函数、方法等)
方式一:导入整个模块,即 from 包名 import 模块名
如下图结构,有package01包(test.py在其中)和package02包(login.py在其中):
login.py模块分别如下:
test.py模块如下:
我们可以看到,from 包名 import 模块名 的方式,可以导入包中的一个模块,要调用该模块中的代码时,需要用该模块
的模块名称来调用。
运行结果如下:我们可以看到,login.py中的代码被正确调用了
问题:用模块名来调用,是不是会显得有些繁琐?接着看第二种方式
方式二:导入模块中的某些部分,可以用 from 包名.模块名 import 变量或者函数或者类。
如下图,可以直接调用导入的代码部分:
tips:
1,若要导入一个模块中的多个属性,可以用英文逗号隔开即可
2,前面说过,导入模块中的所有属性,可以用通配符“ * ”,可以在使用该通配符时对导入属性范围
进行限定,只要在被导入的模块中(.py文件中),对_ _all_ _属性进行范围赋值,如_ _all_ _=[a,func1, Login],那么用通配服“ * ”导入该
模块中的所有代码时,只会导入_ _all_ _ 属性限定范围内的