武汉市网站制作公司怎么创建一个自己的网站
文章目录
- 前言
- 1、time模块
- 1.1 导入模块
- 1.2 使用方法
- 1.2.1 时间戳
- 1.2.2 程序休眠
- 1.2.3 扩展:按某种格式显示当前时间
- 1.2.4 结构化时间
- 2、datetime模块
- 2.1 导入模块
- 2.2 使用方法
- 2.2.1 得到当前系统的时间
- 2.2.2 拓展:编写一个时钟小程序
- 3、random模块
- 3.1 导入模块
- 3.2 使用方法
- 3.2.1 生成范围类的随机数字
- 3.2.2 将列表的元素顺序打乱
- 3.2.3 拓展:随机验证码(小程序)
前言
本篇文章介绍了python常用的三种模块:time、datetime、random的导入及使用方法;通过各种案例对其用法进行解释
1、time模块
1.1 导入模块
语法格式:
import time
1.2 使用方法
1.2.1 时间戳
语法格式:
time.time()
表示的是从1970年1月1日00:00:00到现在的秒速
案例:
import time
print(time.time()) # 输出结果:1725242056.7602024
常用场景:
计算程序运行的时间;如:
import time
start_time = time.time() # 开始时间
# 中间就是你需要运行的程序
end_time = time.time() # 结束时间
# 结束时间-开始时间,得到程序运行的时间
result_time = end_time-start_time
print(result_time)
1.2.2 程序休眠
语法格式:
time.sleep(数字)
;单位秒
让程序休眠几秒;主要用于做时间间隔的计算
案例:
import time
start_time = time.time() # 开始时间
time.sleep(3) # 让程序休眠3秒后在继续运行
end_time = time.time() # 结束时间
# 结束时间-开始时间,得到程序运行的时间
result_time = end_time-start_time
print(result_time) # 输出结果:3.0037782192230225
1.2.3 扩展:按某种格式显示当前时间
语法格式:
time.strftime(格式)
案例:
import time
print(time.strftime('%Y-%m-%d %H:%M:%S'))
print(time.strftime('%Y-%m-%d %H:%M:%S %p'))
print(time.strftime('%Y-%m-%d %X'))
输出结果:
2024-09-02 10:10:14
2024-09-02 10:10:14 AM
2024-09-02 10:10:14
1.2.4 结构化时间
语法格式:
time.localtime()
打印得到9个元素,分别为:年,月,日,时,分,秒,星期几,一年中的第几天,夏令时
案例:
import time
res = time.localtime()
print(res) # 得到9个元素
print(res.tm_hour) # 得到其中某个元素的值
输出结果:
time.struct_time(tm_year=2024, tm_mon=9, tm_mday=2, tm_hour=10, tm_min=18, tm_sec=46, tm_wday=0, tm_yday=246, tm_isdst=0)
10
2、datetime模块
2.1 导入模块
语法格式:
import datetime
2.2 使用方法
2.2.1 得到当前系统的时间
语法格式:
datetime.datetime.now()
案例:
import datetime
print(datetime.datetime.now()) # 输出结果:2024-09-02 10:27:19.367265
- 扩展: 让日期前进或倒退几天
语法格式:datetime.timedel
案例:
import datetime
print(datetime.datetime.now()) # 当前时间
print(datetime.datetime.now()+datetime.timedelta(days=3)) # 将当前时间前进3天
输出结果:
2024-09-02 10:32:18.819790
2024-09-05 10:32:18.819790
tips:
年月日时分秒,都可以前进或倒退,大家可自行扩展
2.2.2 拓展:编写一个时钟小程序
import time
while True:clock = time.strftime('%Y-%m-%d %H:%M:%S')print(f'\r{clock}',end='')# \r 表示回到行首重新打印,end='' 表示取消换行
效果演示:
3、random模块
3.1 导入模块
语法格式:
import random
3.2 使用方法
3.2.1 生成范围类的随机数字
- 生成(0,1)之间的随机小数
import random
print(random.random())
# 打印大于0且小于1之间的小数
- 生成 [1,3] 之间的随机整数
import random
print(random.randint(1,3))
# 打印大于等于1且小于等于3之间的整数
- 生成 [1,3) 之间的随机整数
import random
print(random.randrange(1,3))
# 打印大于等于1且小于3之间的整数
- 随机选择列表中的一个元素
import random
print(random.choice([1,'666',[4,5],'哈哈']))
# 随机打印列表中的某个元素
- 随机选择列表中的两个元素,并以列表的形式输出
import random
print(random.sample([1,'666',[4,5],'哈哈'],2))
# 随机选择列表中的两个元素组合成列表,并打印
- 随机生成 (1,3) 之间的小数
import random
print(random.uniform(1,3))
# 打印大于1且小于3之间的小数
3.2.2 将列表的元素顺序打乱
语法格式:
random.shuffle()
案例:
import random
item = [1,2,3,4,5]
random.shuffle(item)
print(item) # 顺序随机打乱
3.2.3 拓展:随机验证码(小程序)
- 将字符 a-z 和 A-Z 装换为对应的Ascii码值
print(ord('a')) # 输出结果:97
print(ord('z')) # 输出结果:122
- 将数字65-90 和 97-122 转换为对应的Ascii码字符
print(chr(65)) # 输出结果:A
print(chr(122)) # 输出结果:z
- 生成6位随机验证码:
import randoma = ''
for x in range(6):s1 = str(random.randint(0,9))s2 = chr(random.randint(65,90))a += random.choice([s1,s2])
print(a) # 输出结果:R0XI1U,随机的