(更新中)python中库函数的使用-time/random
time库的使用
1 基本使用
类型 | 函数 | 作用 |
---|---|---|
时间获取 | time() | 获取当前时间戳,浮点数 |
ctime() | 获取当前时间并以易读方式打开,字符串 | |
gmtime() | 获取当前时间并表示为计算机可处理的时间格式,struct_time,格林威治时间 | |
localtime() | 获取当前时间并表示为计算机可处理的时间格式,struct_time,北京时间 | |
时间格式化 | strftime(tpl,ts) | tpl是格式化模板字符串,定义输出效果,ts是struct_time |
strptiem(str,tpl) | str是字符串形式的时间,tpl是格式化模板字符串,定义输入效果 | |
程序计时 | sleep() | 程序计时,s为休眠时间,单位为秒,可以是浮点数 |
perf_counter() | 测量时间,返回CPU级别的精确时间单位为秒;数值起点不确定,连续调用才有意义 |
import time
print(time.time())
print(time.ctime())
print(time.gmtime())#格林威治时间
t = time.localtime()
print(t)#北京时间
print(time.strftime("%Y-%m-%d %H:%M:%S",t))
print(time.strftime("%m,%B,%b",t))
#月份%m,月份缩写%B,月份名称缩写%b
print(time.strftime("%A,%a,%I,%p",t))
#星期%A,星期缩写%a,小时(12制)%I,上下午%p
timeStr = time.strftime("%Y-%m-%d %H:%M:%S",t)
print(time.strptime(timeStr,"%Y-%m-%d %H:%M:%S"))
start = time.perf_counter()
time.sleep(5)
end = time.perf_counter()
print('{:3.0f}'.format(end-start))
输出:
1662604605.150155
Thu Sep 8 10:36:45 2022
time.struct_time(tm_year=2022, tm_mon=9, tm_mday=8, tm_hour=2, tm_min=36, tm_sec=45, tm_wday=3, tm_yday=251, tm_isdst=0)
time.struct_time(tm_year=2022, tm_mon=9, tm_mday=8, tm_hour=10, tm_min=36, tm_sec=45, tm_wday=3, tm_yday=251, tm_isdst=0)
2022-09-08 10:36:45
09,September,Sep
Thursday,Thu,10,AM
time.struct_time(tm_year=2022, tm_mon=9, tm_mday=8, tm_hour=10, tm_min=36, tm_sec=45, tm_wday=3, tm_yday=251, tm_isdst=-1)
5
2 实现文本进度条
2.1单行动态刷新
for i in range(101):
print("\r{:3}%".format(i),end="")
time.sleep(0.1)
- 刷新的本质是用后打印的字符覆盖之前的字符
- 不能换行:print()需要被控制,用end=""
- 要能回退:打印后光标退回到之前的位置 \r
2.2 复杂完整的文本进度条
scale = 50
print("执行开始".center(scale//2,"-"))
start = time.perf_counter()
for i in range(scale+1):
a = '*' * i
b = '.' *(scale - i)
c = (i/scale)*100
dur = time.perf_counter() -start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))
执行效果
random库的使用
基本使用
函数 | 功能 |
---|---|
seed(a=None) | 初始化给定的随机数种子,默认为当前系统时间。设定种子可以复现产生随机数 |
random() | 生成一个0.0,1.0之间的随机小数 |
randint(a,b) | 生成a,b之间的整数 |
randrange(m,n,k) | 生成[m,n)之间以k为步长的随机整数 |
getrandbits(k) | 生成一个k比特长的随机整数 |
uniform(a,b) | 生成[a,b]之间的随机小数(小数点后16位) |
choice() | 从序列seq中随机选择一个元素 |
shuffle() | 将序列seq中元素随机排列,返回打乱后的序列 |
import random
random.seed(10)
print(random.random())
random.seed(10)
print(random.random())
print(random.random())
print(random.randint(-10,10))
print(random.randrange(-10,10,5))
print(random.getrandbits(8))
print(random.uniform(1,2))
list = [1,2,3,4,5,7]
print(random.choice(list))
print(random.shuffle(list))
print(list)
输出结果
jieba库的使用
基本使用
中文分词的库
- 精确模式:把文本精确地切分开,不存在冗余单词
- 全模式:把文本中所有可能的词语都扫描出来,有冗余
- 搜索引擎模式:在精确模式的基础上,对长词再次切分
-函数 | 作用 |
---|---|
jieba.lcut(s) | 精确模式,返回一个列表类型的分词结果 |
jieba.lcut(s,cut_all=True) | 全模式,返回一个列表类型的分词结果,存在冗余 |
jieba.lcut_for_search(s) | 搜索引擎模式,返回一个列表类型的分词结果,存在冗余 |
import jieba
s = "中国十一快点放假,调休制度滚出中国"
print(jieba.lcut(s))
print(jieba.lcut(s,cut_all=True))
print(jieba.lcut_for_search(s))
输出结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)