当前位置: 首页 > 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、延迟加载…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

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

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

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目&#xff1a;微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇&#xff01;在前 29 篇文章中&#xff0c;我们从 React 的基础概念逐步深入到高级技巧&#xff0c;涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上&#xff0c;比如&#xff1a;PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发&#xff0c;当设备上用的是modbus从站时&#xff0c;采集设备数据需要开发modbus主站&#xff1b;当设备上用的是西门子PN协议时&#xf…...