当前位置: 首页 > 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,随机的

相关文章:

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 …...

根据NVeloDocx Word模板引擎生成Word(六-结束)

前面几篇已经把E6开发平台配套的Word模版隐藏NVeloDocx的基础用法介绍了一遍,这些基础用法基本上可以完全覆盖实际业务的绝大部分需求。所以我们这一篇就介绍一些边边角角的内容,给本系列来一个首尾。 本篇的主要内容有: 1、汇总计算&#…...

Android架构组件:MVVM模式的实战应用与数据绑定技巧

目录 引言 一、MVVM模式概述 1.1 MVVM模式简介 1.2 MVVM模式的优势 二、MVVM模式的实现 2.1 项目环境配置 2.2 创建MVVM组件 2.2.1 创建数据模型 2.2.2 创建数据仓库 2.2.3 创建ViewModel 2.2.4 创建布局文件 2.2.5 创建RecyclerView适配器 2.3 在Activity中绑定V…...

调用系统的录音设备提示:line with format PCM_SIGNED 16000.0 Hz

javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 16000.0 Hz, 8 bit, mono, 1 bytes/frame, not supported. 打开 设置->隐私->麦克风->允许应用访问你的麦克风 与 16000Hz没关系 与 16000Hz没关系 与 16000Hz没关系...

android BLE 蓝牙的连接(二)

下面是基于实际的项目得到的具体步骤及核心代码 1、权限问题 先判断手机是否满足android4.3以上版本,再判断手机是否开启蓝牙 主要涉及蓝牙权限和位置权限,注意不同android版本之间权限申请的差异,以及android权限动态申请和静态申请的区别 …...

改编pikachu的打靶经历(题目不全)

前言 题目很少,只做了一些。正常版本的,完整的pikachu可参考下面这个师傅写的 https://www.cnblogs.com/henry666/p/16947270.html xss (get)反射xss 先尝试 1 这里有长度限制,而且,我改了长度&#xf…...

Linux进阶 修改文件所有者

修改文件所属组群——chgrp 修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令) 语法:chgrp 组群 文件名/目录 举例: [root@redhat ~]# groupadd groupa[root@redhat ~]# groupadd groupb[root@redhat ~]# useradd -g groupa zgz[r…...

第312题|二重积分求旋转体体积(二)|武忠祥老师每日一题

解题思路:先画出图像,再利用旋转体体积计算公式进行解题。 1. 旋转体体积计算公式: 2.点到直线计算公式: 有了上面两条知识储备之后我们开始计算。 第一步:先计算出点到直线的距离: ymx,y-mx…...

redis基本数据结构-set

文章目录 1. set的基本介绍1.1. set底层结构之hash表的简单介绍1.2. 常用命令 2. 常见的业务场景2.1. 标签系统2.2. 社交网络好友关系 1. set的基本介绍 参考链接:https://mp.weixin.qq.com/s/srkd73bS2n3mjIADLVg72A redis 的 set 数据结构是一个无序的集合&#…...

Android 应用安装-提交阶段

经过前面准备、浏览、协调这些步骤,马上要进入提交阶段了。所谓提交,就是把这些安装应用的相关信息和状态都放到系统中。对于已安装普通应用,它其实分为两个步骤,先卸载旧包,再安装新包。当然,如果是新安装…...

强化学习Reinforcement Learning|Q-Learning|SARSA|DQN以及改进算法

一、强化学习RL 强化学习是机器学习的一个重要的分支,是一种有效的工具,在文献中被广泛用于解决MDP问题。在一个强化学习过程中,一个智能体只能通过和它所处的环境互动学习最优策略。特别地,智能体首先观察自己当前的状态&#xf…...

【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置

文章目录 【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设置RelativeContainer 和 AlignRules 的关系AlignRules 语法详解 【HarmonyOS NEXT开发】如何设置水平/垂直方向的左/居中/右对齐——RelativeContainer的AlignRules设…...

java之认识异常

在 Java 中,异常(Exception)用于处理程序运行时出现的错误或异常情况。Java 的异常处理机制基于 try, catch, finally 和 throw 关键字。 1.异常的分类: 1.1:检查型异常(CheckedException): 定义:程序在…...

JSON处理工具类

JSON处理工具类 import org.json.JSONArray; import org.json.JSONObject;import java.util.ArrayList; import java.util.List;/*** JSON处理工具类*/ public class JsonUtils {/****将json字符串转为map* param json* return java.util.Map<java.lang.String, java.lang.O…...

2022高教社杯全国大学生数学建模竞赛C题 问题一(2) Python代码演示

目录 1.2 结合玻璃的类型,分析文物样品表面有无风化化学成分含量的统计规律数据预处理绘图热力图相关系数图百分比条形图箱线图小提琴图直方图KED图描述性统计分析偏度系数峰度系数其它统计量1.2 结合玻璃的类型,分析文物样品表面有无风化化学成分含量的统计规律 数据预处理 …...

ARACom Proxy Class API 概念

1. Proxy Class 概述 生成方式&#xff1a;Proxy Class 是从 AutoSar 元模型的服务接口描述中生成的&#xff0c;ara::com 标准化了其接口&#xff0c;AP 产品供应商的工具链会生成实现该接口的代理实现类。 命名空间&#xff1a;ara::com 期望代理相关的工件在命名空间 “pro…...

【Scala入门学习】基本数据类型和变量声明

1. 基本数据类型 scala 的基本类型有 9种&#xff1a; Byte、Char、Short、Int、Long、Float、Double、Boolean、Unit Scala中没有基本数据类型的概念&#xff0c;所有的类型都是对象。 AnyVal&#xff1a;代表所有基本类型。 AnyRef&#xff1a;代表所以引用类型&#xff…...

C#基础(13)结构体

前言 随着函数的讲解完成&#xff0c;我想你已经初步有了写一些复杂逻辑功能的能力&#xff0c;但是我们会发现其实在我们大部分实际开发情况中&#xff0c;很多我们需要写的变量可能不只有一个属性。 他可能有很多变量&#xff0c;那这时候我们如果要把这些变量集中到一个东…...

Excel图片批量插入单元格排版处理插件【图片大师】

为了方便大家在图片的插入排版的重复工作中解放出来&#xff0c;最近发布了一款批量插入图片的插件&#xff0c;欢迎大家下载&#xff0c;免费试用。 这是图片的文件夹&#xff1a; 主要功能如下: 1&#xff0c;匹配单元格名称的多张图批量插入到一个单元格 该功能支持设置图…...

应用性能优化实践(二)提升应用启动和响应速度

一、提升应用启动和响应速度的方法 1、冷启动过程简介 应用启动时&#xff0c;后台无该应用的进程&#xff0c;需要创建新的进程&#xff0c;这种启动方式叫冷启动。 2、使用异步加载 使用异步加载可以在后台线程中处理耗时操作&#xff0c;从而提升应用响应速度。 3、延迟加载…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...