2模块和包的一些总结:导入库和模块

感觉这块好零散呀,应该怎么去写呢?截图吧

2模块和包的一些总结:导入库和模块_第1张图片

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模块和包的一些总结:导入库和模块_第2张图片

但是代码会显得比较冗余,所以,把代码模块给改成一个自命名的东西,如下

2、自命名文件 import XXXX as

import p1.sub_p.sub_xxx as p

print(p.num)

2模块和包的一些总结:导入库和模块_第3张图片这两个的意思是一样的

3、只导入包没办法导入所有的模块,但是可以可以在__init__函数里面动手脚

但是在这里有一个很值得注意的地方就是:一定一定要搞清楚这个根目录和子目录的关系。。。就是因为有的时候没有搞清楚,所以程序有的时候会报错,花式报错~!!

2模块和包的一些总结:导入库和模块_第4张图片2模块和包的一些总结:导入库和模块_第5张图片

4、用From语句,导入库和模块

(1)有一个很重要的原则就是,import后面是最简单的,最小层级。不能说from A import A1.B.C这样不行。但是可以导入多个小子资源。

怎么描述合适呢?

规则:

a)前面的要比后面的范围大,

b)后面必须要最简单的资源格式

在列表中,如果能直接看到后面的资源那么能直接导入,如果不能就不能直接导入2模块和包的一些总结:导入库和模块_第6张图片

到时候再说吧

2模块和包的一些总结:导入库和模块_第7张图片

2模块和包的一些总结:导入库和模块_第8张图片

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)但是可以用私有变量的方法,用列表形式表现出来一些想要表达的东西(这样的一个形式)

2模块和包的一些总结:导入库和模块_第9张图片2模块和包的一些总结:导入库和模块_第10张图片

但是这种情况只能使用在*和__all__[]这种固定的形式中,同样的,直接导入一下也可以

5、可选导入

两个相近的包,可选择的导入:

#other other2
#优先导入other2
try:
    import other2 as o
except ModuleNotFoundError:
    import other as o
print(o.o1)

2模块和包的一些总结:导入库和模块_第11张图片

后面就是这个课程主要讲了各种安装和安装的问题,感觉可以比较实用,但是还是在真正运用的时候再根据具体问题去找吧!!!2模块和包的一些总结:导入库和模块_第12张图片

你可能感兴趣的:(conch的代码学习,python)