包的本质来讲就是一种特殊形式的模块
导包触发的其实是包下面的int文件
包下面有一个int.py文件想要把包和模块统一起来 int 文件就相当于导包的替代品
sys path 的第一个路径是执行文件的路径
aaa下面的文件都没有右键运行的需求,全都是被导入的。
aaa.xxx
想拿到bbb这个包
触发了bbb下面的int
from aaa.bbb import m3(bbb里面有m3)第四个视频8分15秒
使用的时候加点,导入的时候加点
from aaa.bbb import m3
#强调:
1.在导入时带点的,点的左边必须是一个包,这事导入包特有的语法
2.包内模块之间的导入通常应该使用from....import
3.from....import....... import后必须是一个明确的名字,没有任何的前缀
from.a.b.c.d.e.f import g.h.x
1.f左边必须都是包
2.import后的名字不能有任何前缀
相对导入和绝对导入
对使用者屏蔽修改,照着原来的修改去用
把f1,f2,f3,f4,f5,f6,组成一个模块
把他们丢到一个文件夹
包内部的模块都是被导入用的没有执行需求
====================================
绝对导入
from nb.m1 import f1,f2
from nb.m2 import f3,f4
from nb.m3 import f5,f6
====================================
相对导入无需考虑执行文件是谁了
from ..m1 import f1
用相对导入更明确
===========================================
import time
#时间分为三种形式
print(time.time())#时间戳
1 import random 2 3 print(random.random())#(0,1)----float 大于0且小于1之间的小数 4 5 print(random.randint(1,3)) #[1,3] 大于等于1且小于等于3之间的整数 6 7 print(random.randrange(1,3)) #[1,3) 大于等于1且小于3之间的整数 8 9 print(random.choice([1,'23',[4,5]]))#1或者23或者[4,5] 10 11 print(random.sample([1,'23',[4,5]],2))#列表元素任意2个组合 12 13 print(random.uniform(1,3))#大于1小于3的小数,如1.927109612082716 14 15 16 item=[1,3,5,7,9] 17 random.shuffle(item) #打乱item的顺序,相当于"洗牌" 18 print(item)