python语言的计算生态
包括标准库、第三方库
标准库:随解释器直接安装到操作系统中的功能模块 |
第三方库:需要经过安装才能使用的功能模块 |
之前学过一个turtle库
还有现在的time库
这两个都是python自带的标准库
time库包括三类函数
时间获取类函数 | |
函数 | 描述 |
time() | 获得当前的时间戳,即计算机内部时间值,浮点数 |
>>>time.time() | |
ctime() | 获得当前时间并以易读方式表示,返回字符串 |
>>>time.ctime() | |
gmtime() | 获得当前时间,表示为计算机可处理的时间格式 |
>>>time.gmtime() |
好准呀就是说nice
时间格式化 | |
函数 | 描述 |
strftime(tpl,ts) | tpl是格式化模板字符串,用来定义输出效果 |
ts是计算机内部时间类型变量 | |
>>>t=time.gmtime() | |
>>>time.strftime("%Y-%m-%d %H:%m:%s",t) |
演示一下
import time
t=time.gmtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",t))
注意看细节上面这个时间是老不准了
上网查了一下进行了改进
import time
t=time.gmtime() #这一行显得格外的无用呃呃呃呃,但好像也没有什么影响
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())))
那一行在这里略显多余就删了吧
import time
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))) #yyds
函数 | 描述 |
strptime(str,tpl) | str是字符串形式的时间值 |
tpl是格式化模板字符串,用来定义输入效果 | |
timestr='2022-12-24 22:58:10' | |
print(time.strptime(timestr,"%Y-%m-%d %H:%M:%S")) |
import time
timestr='2022-12-24 22:58:10'
print(time.strptime(timestr,"%Y-%m-%d %H:%M:%S"))
time库中包含了很多控制符
所有的控制符都是以%
加一个字母的形式来表达的
格式化字符串 | 时期/时间说明 | 值范围和实例 |
%Y | 年份 | 0000~9999,例:2022 |
%m | 月份 | 01~12. 例:12 |
%B | 月份名称 | january~december |
例:April | ||
%b | 月份名称缩写 | jan~dec 例:Apr |
%d | 日期 | 01~31 例:25 |
%A | 星期 | monday~sunday |
例:wednesday | ||
%a | 星期缩写 | mon~sun 例:wed |
%H | 小时(24小时制) | 00~23 例:12 |
%I(这是大写的i) | 小时(12小时制) | 01~12 例:6 |
%p(小写的) | 上/下午 | AM,PM 例:PM |
%M | 分钟 | 00~59 例:26 |
%S(这是大写) | 秒 | 00~59 例:26 |
我上面的代码之前将分钟和秒的
控制符写成小写了
就一直运行不出来
一定要注意!
程序计时 | |
函数 | 描述 |
perf_counter() | 返回一个CPU级别的精确时间计数值,单位为秒 |
由于这个计数值起点不确定,连续调用差值才有意义 | |
>>>start=time.perf_counter() | |
>>>end=time.perf_counter() | |
>>>end-start | |
sleep(s) | s拟休眠的时间,单位是秒,可以是浮点数 |
>>>def wait(): | |
time.wait(3.3) | |
>>>wait() #程序将等待3.3秒后再退出 |
文本进度条
import time
scale=10
print("======执行开始======")
for i in range(scale+1):
a='*'* i
b='.'*(scale-i)
c=(i/scale)*100
print("{:^3.0f}%[{}->{}]".format(c,b,a))
time.sleep(0.1)
print("======执行结束======")
文本进度条单行动态刷新
import time
for i in range (101):
print("\r{:3}%".format(i),end="")
time.sleep(0.5)
invalid non-printable character U+2008 无效的不可打印字符U+200B
这个问题上网查了
说是复制上去的格式不对
可是我是本本分分打上去的呀
听嵩天老师讲的是说
IDLE被设定的就是开发环境
并不是程序运行的主要环境
为了保证其中参数的运行的效果
把\r这个功能屏蔽了
咱也不知道IDLE运行不出来是不是以上原因
反正在pycharm中运行没问题
这个睡眠时间0.5设置的有点长了
在刷新时能明显感觉速度降下来了
文本进度条实例完整版
import time
scale=50
print("执行时间".center(scale//2,"="))
start=time.perf_counter() #程序计时函数
for i in range (scale+1):
a='*'* i
b='.'*(scale-1)
c=(i/scale)*100
dur=time.perf_counter()-start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")
time.sleep(0.5) #休眠时间为0.5秒,程序计时函数
时间要是设置0.1那简直是神速
设置了0.5,方便我截个屏哈哈哈哈
哇塞收获满满!!!