Python常用模块之random和time
常用模块:
time:
分为三种格式:
- 1.时间戳:从1970年1月1日0点0分0秒到现在经过的秒数
- 用于时间间隔的计算
import time
print(time.time())
- 2.字符串显示时间
- 用于展示时间,更符合人类认知
print(time.strftime('%Y-%m-%d %H:%M:%S %p'))
# 2020-08-11 19:45:05 PM
print(time.strftime('%Y-%m-%d %X'))
# 2020-08-11 21:18:19
print(time.asctime())
# Wed Aug 12 21:20:31 2020
- 3.结构化显示时间
- 用于单独获取时间某一部分
print(time.localtime())
# time.struct_time(tm_year=2020, tm_mon=8, tm_mday=11, tm_hour=21,tm_min=30, tm_sec=18, tm_wday=1, tm_yday=224, tm_isdst=0)
# 显示格里尼治标准时间,比中国慢8个小时,中国是东8区
print(time.gmtime())
# 9个字段:
# 年份,月份,日份,小时,分钟,秒, 星期(从0-6,0表示周一),一年的第几天,是否是夏令时
- 若要显示单独某个字段
# 显示年份
print(time.localtime().tm_year)
# 2020
# 显示当前是一年中的第几天
print(time.localtime().tm_yday)
# 224
三种格式时间转换
- 时间戳转结构化
tp_time = time.time()
pritn(time.localtime(tp_time))
# 默认是当前时区时间,也可自定义时间戳
print(time.localtime(666666666))
# time.struct_time(tm_year=1991, tm_mon=2, tm_mday=16, tm_hour=9, tm_min=11, tm_sec=6, tm_wday=5, tm_yday=47, tm_isdst=0)
# 以格里尼治标准时间为基数
print(time.gmtime(666666666))
# time.struct_time(tm_year=1991, tm_mon=2, tm_mday=16, tm_hour=1, tm_min=11, tm_sec=6, tm_wday=5, tm_yday=47, tm_isdst=0)
- 结构化转时间戳
st_time = time.localtime()
print(time.mktime(st_time))
- 结构化转字符串
st_time = time.localtime()
pritn(time.strftime('%Y-%m-%d %H:%M:%S',st_time))
# 2020-08-12 20:43:46
# 需要两个参数,前面是格式,后面是结构时间参数
- 字符串转结构化
print(time.strptime('2020-08-12 20:43:46','%Y-%m-%d %H:%M:%S')
# 两个参数的格式必须要对应
time模块字符串格式无法直接转换成时间戳,需要通过结构化时间转换
- 时间戳转格式化字符串
# 首先将时间戳转换为结构化,再转换为格式化字符串
s_time = time.localtime(666666666)
print(time.strftime('%Y-%m-%d %H:%M:%S',s_time)) # 1991-02-16 09:11:06
- 格式化字符串转时间戳
# 首先将格式化字符串转结构化,再将结构化转时间戳
struct_time = time.strptime('2020-8-13 13:12:20','%Y-%m-%d %H:%M:%S')
print(time.mktime(struct_time)) # 1597295540.0
datetime:
- 格式化显示时间
# 当前时区时间
print(datetime.datetime.now())
# 2020-08-12 21:21:56.192434
# 格林尼治时间
print(datetime.datetime.utcnow())
# 2020-08-12 13:21:56.209435
- 时间运算
# 显示三天后
print(datetime.datetime.now() + datetime.timedelta(days=3)
# 2020-08-15 10:11:23.132590
# 显示三天前
print(datetime.datetime.now() + datetime.timedalta(days=-3)
print(datetime.datetime.now() - datetime.timedelta(days=3)
# 2020-08-09 10:14:34.984563
# 显示三年后
print(datetime.datetime.now() + datetime.timedelta(days = 365*3))
# 2023-08-12 10:17:01.263930
- 时间戳转格式化字符串时间
print(datetime.datetime.fromtimestamp(666666666))
# 1991-02-16 09:11:06
random:
- 此模块提供了伪随机数获取相关的方法
- random.random():获取[0,1.0)范围内的浮点数
import random
print(random.random())
- random.randint(a,b):获取[a,b]范围内的一个整数
print(random.randint(1,3))
# 1,2,3都能取到
- random.uniform(a,b):获取[a,b]范围内的浮点数
print(random.uniform(1.1,1.2))
- random.randrange(start,stop[,step]):获取[star,stop)之间的整数,可以指定步长
print(random.randrange(1,4))
# 获取[1,4)之间的整数,可以获取到1,2,3
print(random.randrange(1,4,2))
# 可以获取到1,3
- random.choice(seq):从非空序列seq返回一个随机元素。如果seq为空,则报错
li = [1,2,3,'a','b','c']
print(random.choice())
# 返回结果为列表内的一个随机元素
- random.sample(x,k):从x中随机抽取k个数据,组成列表返回
li = [1,2,3,'a','b','c']
print(random.sample(li,3))
# 取列表内随机三个元素,组成列表返回
- random.shuffle(x):混洗。将参数指定的数据中的元素打乱。参数必须是可变的数据类型
random.shuffle(li)
print(li)
# random.shuffle()打乱的是原对象的顺序
- 应用:随机验证码
import random
def make_code(size=6):
res = ''
for i in range(size):
num = str(random.randint(0,9)) # 随机产生一个整数
st1 = chr(random.randint(65,90)) # 获取65-90之间的的整数,通过chr函数转换成大写字母
st2 = chr(random.randint(97,122)) # 获取一个随机小写字母
res += random.choice([num,st1,st2]) # 每次取得其中一个字符,与res累加
return res
print(make_code())
Python常用模块之random和time的更多相关文章
- python常用模块之random模块
python常用模块之random模块 在程序中很多会用到随机字符,比如登陆网站的随机验证码,通过random模块可以很容易生成随机字符串 1.random.randrange():返回1-10之间的 ...
- python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
- python 常用模块之random,os,sys 模块
python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...
- python 常用模块(一): random , time , sys , os模块部分知识.
1.常用模块:(1)collectiaons模块 (2)与时间相关 time模块 (3)random模块 (4)os模块 (5)sys模块 (6) 序列化模块: json , pickle 2 ...
- python常用模块之random
random模块 import random print(random.random())#(0,1)----float 大于0且小于1之间的小数 print(random.randint(1,3)) ...
- python常用模块之-random模块
random模块顾名思义就是生成随机数的模块. random模块有以下常见方法: 1,打印0-1之间的任意随机浮点数,不能指定区间. print(random.random()) 2,打印随机符点数, ...
- Python常用模块-随机数模块(random)
Python常用模块-随机数模块(random) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用方法举例 #!/usr/bin/env python #_*_coding: ...
- (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
- Python常用模块sys,os,time,random功能与用法,新手备学。
这篇文章主要介绍了Python常用模块sys,os,time,random功能与用法,结合实例形式分析了Python模块sys,os,time,random功能.原理.相关模块函数.使用技巧与操作注意 ...
随机推荐
- 预科班D6
2020.09.14星期一 预科班D6 学习内容: 自习 发布小游戏 1.配置网络 #查看当前ip ifconfig #关闭NetworkManager systemctl stop NetworkM ...
- python获取某视频网站视频
还是老生常谈的操作 import requests import os from bs4 import BeautifulSoup from urllib.parse import urljoin h ...
- 定时任务与feign超时的纠葛,该咋优化?
1 背景 业务定时器应用半夜经常会触发熔断异常的告警邮件 根据邮件提示的类找到归纳以下表格 编号 报错方法 接口所属应用 所属定时任务类 A VipTradeReportFeignService#ge ...
- 趣图:普通人讲故事 VS 程序员讲故事
扩展阅读 趣图:我说自己菜 vs 大佬说自己菜 趣图:客户需求VS客户预算 趣图:在外行人眼中的程序员 如何处理前任程序员留下的代码 一个故事讲清楚NIO
- JAVA MD5加密算法实现与原理解析
public static String md5Encode(String inputStr) { MessageDigest md5 = null; try { md5 = MessageDiges ...
- LDA主题模型困惑度计算
对于LDA模型,最常用的两个评价方法困惑度(Perplexity).相似度(Corre). 其中困惑度可以理解为对于一篇文章d,所训练出来的模型对文档d属于哪个主题有多不确定,这个不确定成都就是困惑度 ...
- Linux 文件系统之入门必看!
在 Linux 中,最直观.最可见的部分就是 文件系统(file system).下面我们就来一起探讨一下关于 Linux 中国的文件系统,系统调用以及文件系统实现背后的原理和思想.这些思想中有一些来 ...
- JSON.stringify 的使用
一.作用:这个函数的作用主要是为了序列化对象.就是把原来是对象的类型转换成字符串类型(json格式的String类型). 二.语法:JSON.stringify(value[, replacer][, ...
- 浙大《数据结构》学习&练习(一)算法初步
1.数据结构是数据在计算机中的组织方式,类比图书在图书馆中的存储,应该如何分类,如何在书架上存取. 2.抽象数据结构是对一类的数据的一种组织方式的通用(抽象)描述,包括类型的名称,数据对象集和操作集. ...
- P2783 有机化学之神偶尔也会作弊 题解
题面 前言 这道题以前还是道(水)黑题,现在怎么降紫了???? 前置芝士 tarjain 缩点 倍增求LCA或树剖求LCA 脑子... 题意 给你一个无向图,要求你把所有的环缩成一个点.在新得到的图上 ...