当前位置: 首页 > news >正文

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

文章目录

  • 前言
  • 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 生成范围类的随机数字

  1. 生成(0,1)之间的随机小数
import random
print(random.random())
# 打印大于0且小于1之间的小数
  1. 生成 [1,3] 之间的随机整数
import random
print(random.randint(1,3)) 
# 打印大于等于1且小于等于3之间的整数
  1. 生成 [1,3) 之间的随机整数
import random
print(random.randrange(1,3))
# 打印大于等于1且小于3之间的整数
  1. 随机选择列表中的一个元素
import random
print(random.choice([1,'666',[4,5],'哈哈']))
# 随机打印列表中的某个元素
  1. 随机选择列表中的两个元素,并以列表的形式输出
import random
print(random.sample([1,'666',[4,5],'哈哈'],2))
# 随机选择列表中的两个元素组合成列表,并打印
  1. 随机生成 (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 拓展:随机验证码(小程序)

  1. 将字符 a-z 和 A-Z 装换为对应的Ascii码值
print(ord('a')) # 输出结果:97
print(ord('z')) # 输出结果:122
  1. 将数字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,随机的
http://www.lryc.cn/news/439595.html

相关文章:

  • 根据NVeloDocx Word模板引擎生成Word(六-结束)
  • Android架构组件:MVVM模式的实战应用与数据绑定技巧
  • 调用系统的录音设备提示:line with format PCM_SIGNED 16000.0 Hz
  • android BLE 蓝牙的连接(二)
  • 改编pikachu的打靶经历(题目不全)
  • Linux进阶 修改文件所有者
  • 第312题|二重积分求旋转体体积(二)|武忠祥老师每日一题
  • redis基本数据结构-set
  • Android 应用安装-提交阶段
  • 强化学习Reinforcement Learning|Q-Learning|SARSA|DQN以及改进算法
  • 【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置
  • java之认识异常
  • JSON处理工具类
  • 2022高教社杯全国大学生数学建模竞赛C题 问题一(2) Python代码演示
  • ARACom Proxy Class API 概念
  • 【Scala入门学习】基本数据类型和变量声明
  • C#基础(13)结构体
  • Excel图片批量插入单元格排版处理插件【图片大师】
  • 应用性能优化实践(二)提升应用启动和响应速度
  • 接口测试系列文章专题
  • Unity Hub自动安装指定版本Unity的Android开发环境
  • 从0开始学ARM
  • 每日一题——第九十四题
  • Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
  • 后续学习规划 ----含我个人的学习路线,经历及感受
  • Skytower
  • 成型的程序
  • 卡尔曼滤波中Q和R与噪声的关系
  • sicp每日一题[2.10]
  • MCN跨国企业如何从0到1搭建ITSM运维体系