python常用模块之time、datetime、randow(14)

打印 上一主题 下一主题

主题 1052|帖子 1052|积分 3156

前言

本篇文章介绍了python常用的三种模块:time、datetime、random的导入及使用方法;通过各种案例对其用法进行表明
1、time模块

1.1 导入模块

   语法格式:import time
  1.2 使用方法

1.2.1 时间戳

   语法格式:time.time()
表示的是从1970年1月1日00:00:00到现在的秒速
  案例:
  1. import time
  2. print(time.time()) # 输出结果:1725242056.7602024
复制代码
常用场景:
计算步伐运行的时间;如:
  1. import time
  2. start_time = time.time() # 开始时间
  3. # 中间就是你需要运行的程序
  4. end_time = time.time() # 结束时间
  5. # 结束时间-开始时间,得到程序运行的时间
  6. result_time = end_time-start_time
  7. print(result_time)
复制代码
1.2.2 步伐休眠

   语法格式:time.sleep(数字);单位秒
让步伐休眠几秒;主要用于做时间隔断的计算
  案例:
  1. import time
  2. start_time = time.time() # 开始时间
  3. time.sleep(3) # 让程序休眠3秒后在继续运行
  4. end_time = time.time() # 结束时间
  5. # 结束时间-开始时间,得到程序运行的时间
  6. result_time = end_time-start_time
  7. print(result_time) # 输出结果:3.0037782192230225
复制代码
1.2.3 扩展:按某种格式显示当前时间

   语法格式:time.strftime(格式)
  案例:
  1. import time
  2. print(time.strftime('%Y-%m-%d %H:%M:%S'))
  3. print(time.strftime('%Y-%m-%d %H:%M:%S %p'))
  4. print(time.strftime('%Y-%m-%d %X'))
复制代码
输出结果:
  1. 2024-09-02 10:10:14
  2. 2024-09-02 10:10:14 AM
  3. 2024-09-02 10:10:14
复制代码
1.2.4 结构化时间

   语法格式:time.localtime()
打印得到9个元素,分别为:年,月,日,时,分,秒,星期几,一年中的第几天,夏令时
  案例:
  1. import time
  2. res = time.localtime()
  3. print(res) # 得到9个元素
  4. print(res.tm_hour) # 得到其中某个元素的值
复制代码
输出结果:
  1. 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)
  2. 10
复制代码
2、datetime模块

2.1 导入模块

   语法格式:import datetime
  2.2 使用方法

2.2.1 得到当前体系的时间

   语法格式:datetime.datetime.now()
  案例:
  1. import datetime
  2. print(datetime.datetime.now()) # 输出结果:2024-09-02 10:27:19.367265
复制代码


  • 扩展: 让日期前进或倒退几天
    语法格式:datetime.timedel
案例:
  1. import datetime
  2. print(datetime.datetime.now()) # 当前时间
  3. print(datetime.datetime.now()+datetime.timedelta(days=3)) # 将当前时间前进3天
复制代码
输出结果:
  1. 2024-09-02 10:32:18.819790
  2. 2024-09-05 10:32:18.819790
复制代码
tips:
年代日时分秒,都可以前进或倒退,大家可自行扩展
2.2.2 拓展:编写一个时钟小步伐

  1. import time
  2. while True:
  3.     clock = time.strftime('%Y-%m-%d %H:%M:%S')
  4.     print(f'\r{clock}',end='')
  5.     # \r 表示回到行首重新打印,end='' 表示取消换行
复制代码
结果演示:

3、random模块

3.1 导入模块

   语法格式:import random
  3.2 使用方法

3.2.1 生成范围类的随机数字


  • 生成(0,1)之间的随机小数
  1. import random
  2. print(random.random())
  3. # 打印大于0且小于1之间的小数
复制代码

  • 生成 [1,3] 之间的随机整数
  1. import random
  2. print(random.randint(1,3))
  3. # 打印大于等于1且小于等于3之间的整数
复制代码

  • 生成 [1,3) 之间的随机整数
  1. import random
  2. print(random.randrange(1,3))
  3. # 打印大于等于1且小于3之间的整数
复制代码

  • 随机选择列表中的一个元素
  1. import random
  2. print(random.choice([1,'666',[4,5],'哈哈']))
  3. # 随机打印列表中的某个元素
复制代码

  • 随机选择列表中的两个元素,并以列表的形式输出
  1. import random
  2. print(random.sample([1,'666',[4,5],'哈哈'],2))
  3. # 随机选择列表中的两个元素组合成列表,并打印
复制代码

  • 随机生成 (1,3) 之间的小数
  1. import random
  2. print(random.uniform(1,3))
  3. # 打印大于1且小于3之间的小数
复制代码
3.2.2 将列表的元素序次打乱

   语法格式:random.shuffle()
  案例:
  1. import random
  2. item = [1,2,3,4,5]
  3. random.shuffle(item)
  4. print(item) # 顺序随机打乱
复制代码
3.2.3 拓展:随机验证码(小步伐)


  • 将字符 a-z 和 A-Z 装换为对应的Ascii码值
  1. print(ord('a')) # 输出结果:97
  2. print(ord('z')) # 输出结果:122
复制代码

  • 将数字65-90 和 97-122 转换为对应的Ascii码字符
  1. print(chr(65)) # 输出结果:A
  2. print(chr(122)) # 输出结果:z
复制代码


  • 生成6位随机验证码:
  1. import random
  2. a = ''
  3. for x in range(6):
  4.     s1 = str(random.randint(0,9))
  5.     s2 = chr(random.randint(65,90))
  6.     a += random.choice([s1,s2])
  7. print(a) # 输出结果:R0XI1U,随机的
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

傲渊山岳

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表