感觉这块好零散呀,应该怎么去写呢?截图吧
1、导入多个模块的方法
#导入多个包有几种办法
# 1.用点号
# 2.用逗号
import p1.Tool
import p1.sub_p.sub_xxx
print(p1.Tool.num)
print(p1.sub_p.sub_xxx.num)
import p1.Tool,p1.sub_p.sub_xxx
print(p1.Tool.num)
print(p1.sub_p.sub_xxx.num)
但是代码会显得比较冗余,所以,把代码模块给改成一个自命名的东西,如下
2、自命名文件 import XXXX as
import p1.sub_p.sub_xxx as p
print(p.num)
这两个的意思是一样的
3、只导入包没办法导入所有的模块,但是可以可以在__init__函数里面动手脚
但是在这里有一个很值得注意的地方就是:一定一定要搞清楚这个根目录和子目录的关系。。。就是因为有的时候没有搞清楚,所以程序有的时候会报错,花式报错~!!
4、用From语句,导入库和模块
(1)有一个很重要的原则就是,import后面是最简单的,最小层级。不能说from A import A1.B.C这样不行。但是可以导入多个小子资源。
怎么描述合适呢?
规则:
a)前面的要比后面的范围大,
b)后面必须要最简单的资源格式
在列表中,如果能直接看到后面的资源那么能直接导入,如果不能就不能直接导入
到时候再说吧
from p1 import Tool,Tool2
print(Tool.num)
print(Tool2.num2)
from p1 import Tool as a,Tool2 as b
print(a.num)
print(b.num2)
(2)结构
导入部分资源
a)正常的方法
from p1.Tool import num
print(num)
from p1.Tool import num as n
print(n)
print后面只要写最简单的就可以了,不然也会报错,就是写num或者n就可以了切记!!!
b)第二种部分导入资源的方法,不过慎用~~!!~~
b1)test里面的代码这样写:
from p1.other import *
print(num1)
other里面的代码这样写
num1=1
num2 = 2
num3 = 3
num4 = 4
_num5 = 5
b2)但是可以用私有变量的方法,用列表形式表现出来一些想要表达的东西(这样的一个形式)
但是这种情况只能使用在*和__all__[]这种固定的形式中,同样的,直接导入一下也可以
5、可选导入
两个相近的包,可选择的导入:
#other other2
#优先导入other2
try:
import other2 as o
except ModuleNotFoundError:
import other as o
print(o.o1)
后面就是这个课程主要讲了各种安装和安装的问题,感觉可以比较实用,但是还是在真正运用的时候再根据具体问题去找吧!!!