-
-
文件化管理 -- 提高可读性,避免重复代码
-
拿来就用 -- 避免重复造轮子,python中类库特别多
-
-
定义一个模块:
-
一个文件就是一个模块
-
import 模块 #导入
-
-
import 时会做三件事
-
将模块文件中所有的代码读取到当前文件
-
开辟空间
-
等待被调用
-
-
import 导入同一个模块名时,只执行一次,且只能将工具箱拿来
-
可给工具箱起别名 ,例如
import test as t
-
导入名字时不能加后缀
-
from test import t1
从test工具箱中将t1工具拿出来(飘红不代表报错) -
给工具改名
from test import t1 as t
-
import 与 from的区别:
-
import 能够执行模块中所有的功能
-
from 只能执行导入的工具
-
from 容易将当前文件中定义的功能覆盖
-
import 后面不能加点操作
-
import 和 from 导入的都是相对路径
-
from day15 import ttt #从day15文件夹中拿出ttt工具箱
from day15.ttt import func #从day15文件夹中拿出ttt工具箱中的func工具
-
-
-
import sys #和python解释交互接口
print(sys.path) -
模块导入顺序:
-
sys.path.append()
-
内存 > 内置>第三方>自定义
-
-
sys.path.insert()
-
内存 > 自定义>内置>第三方
-
-
-
if _name_=='_main_'
-
当文件当作模块被调用的时候
__name__
返回的是当前模块名 -
当文件当作脚本使用时
__name__
返回的是__main__
-
-
只有py文件当作模块被导入时,字节码才会进行给保留
-
以后导入模块会产生的坑
-
自己定义的模块的名字不要与自带的模块重名
-
注意自己的思路,不要让代码打架
-
-
不建议一行导入多个模块,分开导入方便后期维护
-
from test import *
拿整个工具箱 -
通过
__all__
控制要导入的内容,在模块最上方写入__all__['','','']
列表中的是允许被导入的内容
time模块
-
import time #内置模块——标准库
-
print(time.time()) #时间戳,浮点数 秒
-
time.sleep() #睡眠,秒
-
时间戳转结构化时间
-
print(time.localtime(time.time()))
输出为命名元组形式,可索引,如果localtime()中不写,则使用的是当前时间戳
-
-
结构化转字符串格式
-
time_g=time.localtime(time.time())
time.strftime('%Y-%m-%d %H-%M-%S',time_g)
-
-
字符串格式转结构化
-
str_time='2018-10-1 10:11:12'
time_g=time.strptime(str_time,'%Y-%m-%d %H-%M-%S')
-
-
将结构化时间转换成时间戳
-
print(time.mktime(time_g))
-
datetime
-
from datetime import datetime
print(datetime.now()) #获取当前时间 -
print(datetime(2018,10,1,10,11,12)-datetime(2011,11,11,20,11,12)) #指定时间
-
d=date.time.now()
print(d.timetamp()) #将对象转换成时间戳 -
import time
f_t=time.time()
print(datetime.fromtimestamp(f_t)) #将时间戳转换成对象 -
d=datetime.now()
d.strftime('%Y-%m-%d %H-%M-%S') #将对象转换成字符串 -
s='2018-12-31 10:11:12'
datetime.strptime(s,'%Y-%m-%d %H-%M-%S') #将字符串转换成对象
timedelta
-
from datetime import timedelta print(datetime.now() - timedelta(day=1)) #可以进行加减法
random模块
-
import random print(random.randint(1,50)) #选择1-50之间随机的整数,包括50 print(random.random()) #0-1之间随机小数,不包含1 print(random.uniform(1,10)) #1~10之间随机小数,不包含10 print(random.choice((1,2,3,4,5,6,7)) #从容器中随机选择一个 print(random.choices((1,2,3,4,5,6,7),k=3) #从容器中随机选择三个,返回的是列表,会出现重复元素 print(random.sample((1,2,3,4,5,6,7),k=3) #从容器中随机选择三个,返回的是列表,不会出现重复元素 print(random.randrange(1,10,2)) #随机的奇数或者偶数
-
lst=[1,2,3,4,5,6,7] random.shuffle(lst) #洗牌,将顺序打散,无返回值,在原地打乱顺序 print(lst)
-