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,'-'))

执行效果

英文月份词典python 缩写月份单词python_英文月份词典python

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)

输出结果

英文月份词典python 缩写月份单词python_随机数_02

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))

输出结果

英文月份词典python 缩写月份单词python_获取当前时间_03