time模块
概述:time库是Python中处理时间的标准库,包含以下三类函数
- 时间获取:
time(), ctime(), gmtime()
- 时间格式化:
strftime(), strptime()
- 程序计时:
sleep(), perf_counter()
时间获取:
import time
print(time.time()) #获取当前时间戳,即计算机内部时间值,浮点型
print('-------')
print(time.ctime()) #获取当前时间并以易读方式表示,返回字符串
print('-------')
print(time.gmtime()) #获取当前时间,表示为计算机可处理的时间格式 result:
1571822780.9567018
-------
Wed Oct 23 17:26:20 2019
-------
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=9, tm_min=26, tm_sec=20, tm_wday=2, tm_yday=296, tm_isdst=0)
时间格式化:
1.strftime方法
t=time.gmtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",t)) result:
2019-10-23 10:15:46
格式化控制符:
2.strptime方法:
timeStr='2019-10-23 10:15:46'
print(time.strptime(timeStr,"%Y-%m-%d %H:%M:%S")) result:
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=10, tm_min=15, tm_sec=46, tm_wday=2, tm_yday=296, tm_isdst=-1)
文本进度条实例:
1.文本进度条初版
import time count = 10
print("-------开始执行-------") for i in range(count + 1):
# print(i)
a = "#" * i
b = "." * (count - i)
c = (i / count) * 100
# print(c)
print(f"[{a}->{b}]{c:.2f}% ")
time.sleep(0.1)
# print(b) print("-------执行结束-------")
2.文本进度条优化版
import time count=100
print("开始执行".center(50,'-')) #以开始执行字符为中心,前后23个-
start = time.perf_counter() #CPU级别精确计时,时间比time()精确 for i in range(count + 1):
a='#'*i
b='.'*(count-i)
c=(i/count)*100
res=time.perf_counter()-start #运行时间
# print(f"[{a}->{b}]{c}% ") #C存在二进制无法显示十进制,无线趋近的情况
print(f"\r[{a}->{b}]{c:.2f}% {res:.2f}s",end="") #\r覆盖内容;.2f化为小数点后两位会自动四舍五入;把print方法end属性设为空,不换行
time.sleep(0.1) #延时0.1秒 print('\n'+"执行结束".center(50,'-'))
数字类型及操作:
1.类型转换
h = '150.5'
h = float(h) #转化为浮点型
print(type(h)) #打印h变量的类型 result:
150.5
<class 'float'>
h = '150.5'
h_float = float(h)
h_int = int(h_float) #必须要先转换为浮点型,才能转化为整形
print(h_int) result:
150
2.进制间的转换
a = 28
print(bin(a)) #转为二进制
print(oct(a)) #转为八进制
print(hex(a)) #转为十六进制 result
0b11100
0o34
0x1c
字符串操作:
字符串切片索引顺序:
年龄判读示例:
# 让用户输入年龄,判断是否是成年人还是未成年人
age = input("请输入你的年龄(请输入数字):").strip() #.strip()删除前后空格字符 if age.isdigit(): #判断字符串是否为数字
age = int(age) #把字符转化为整形
if age < 18:
print('未成年人')
elif age >= 18:
print("成年人")
else: #非数字类型字符,报错
print('输入字符无效')