023.Python的随机模块和时间模块
一 random 随机模块
1.1 获取随机0-1之间的小数(左闭右开) 0<= x < 1
import random
res = random.random()
print(res)
执行
[root@node10 python]# python3 test.py
0.1808803715859979
[root@node10 python]# python3 test.py
0.39177193259061716
1.2 randrange()
随机获取指定范围内的整数(包含开始值,不包含结束值,间隔值)
import random
res = random.randrange(3) # 0~2
print(res)
res = random.randrange(1,10) # 1~9
print(res)
res = random.randrange(1,10,3) # 1 4 7
print(res)
执行
[root@node10 python]# python3 test.py
1
9
7
1.3 randint()
随机产生指定范围内的随机整数 (目前唯一可以取到最大值的函数,不推荐使用)
import random
res = random.randint(2,5) # 2 3 4 5 最大值可以取到
print(res)
执行
[root@node10 python]# python3 test.py
5
[root@node10 python]# python3 test.py
4
randint 必须给2个参数 1个或者3个都不行,功能有局限性,不推荐使用
import random
res = random.randint(2,5,2)
print(res)
执行
1.4 uniform()
获取指定范围内的随机小数(左闭右开)
import random
res = random.uniform(1,10) # 1<= x < 10
print(res)
res = random.uniform(5,-3)
print(res)
执行
[root@node10 python]# python3 test.py
6.236326270460472
-1.5051738051095427
[root@node10 python]# python3 test.py
5.575905200548584
4.156048569051353
[root@node10 python]# python3 test.py
1.9549944091757219
4.605001284532852
1.5 choice()
随机获取序列中的值(多选一)
import random
listvar = [1,2,3,90,6,5]
res = random.choice(listvar)
print(res)
执行
[root@node10 python]# python3 test.py
1
[root@node10 python]# python3 test.py
3
[root@node10 python]# python3 test.py
90
[roo
自定义函数 实现choice的效果
import random
listvar = [1,2,3,90,6,5]
def mychoice():
length = len(listvar)
res = random.randrange(0,length) # 0 ~ 5
return listvar[res]
print(mychoice())
执行
[root@node10 python]# python3 test.py
6
[root@node10 python]# python3 test.py
90
[root@node10 python]# python3 test.py
3
1.6 sample()
随机获取序列中的值(多选多) [返回列表]
sample(容器类型数据,选几个)
import random
listvar = ["周杰伦","李宇春","王宝强","宋小宝","刘德华","张学友","王文"]
res = random.sample(listvar,2)
print(res)
执行
[root@node10 python]# python3 test.py
['王文', '张学友']
[root@node10 python]# python3 test.py
['刘德华', '张学友']
1.7 shuffle()
随机打乱序列中的值(直接打乱原序列)
import random
listvar = ["周杰伦","李宇春","王宝强","宋小宝","刘德华","张学友","王文"]
random.shuffle(listvar)
print(listvar)
执行
['王文', '王宝强', '宋小宝', '周杰伦', '张学友', '刘德华', '李宇春']
[root@node10 python]# python3 test.py
['张学友', '周杰伦', '王宝强', '王文', '宋小宝', '李宇春', '刘德华']
[root@node10 python]# python3 test.py
['李宇春', '刘德华', '王宝强', '王文', '周杰伦', '张学友', '宋小宝']
1.8 生成验证码
实现一个验证码功能,每次随机产生5个字符
import random
def yanzhengma():
strvar = ''
for i in range(5):
# res = chr(97)
# a-z 范围的小写字母
a_z = chr(random.randrange(97,123))
# A-Z 产生所有的大写字母 65 => A 90
A_Z = chr(random.randrange(65,91))
# 0-9 产生0-9 10个数字
num = str(random.randrange(0,10)) # 为了实现字符串的拼接
# 把范围的可能出现的字符放到同一的列表中进行随机挑选
listvar = [a_z,A_Z,num]
# 把选好的5个随机字符 通过+来形成拼接
strvar += random.choice(listvar)
# 直接返回该字符串
return strvar
res = yanzhengma()
print(res)
执行
[root@node10 python]# python3 test.py
171ZV
[root@node10 python]# python3 test.py
UYj8P
[root@node10 python]# python3 test.py
JkNev
[root@node10 python]# python3 test.py
KCEY8
[root@node10 python]# python3 test.py
YMa30
二 Time时间模块
2.1 time()
获取本地时间戳
import time
res = time.time()
print(res)
执行
[root@node10 python]# python3 test.py
1574685161.550896
2.2 mktime()
通过[时间元组]获取[时间戳] (参数是时间元组)
import time
ttl = (2019,5,12,15,21,0,0,0,0)
res = time.mktime(ttl)
print(res)
执行
[root@node10 python]# python3 test.py
1557692460.0
2.3 localtime()
通过[时间戳]获取[时间元组] (默认当前时间)
import time
ttl = time.localtime() # 默认使用当前时间戳
print(ttl)
ttl = time.localtime(1557645000) # 自定义时间戳,转化为时间元组
print(ttl)
执行
[root@node10 python]# python3 test.py
time.struct_time(tm_year=2019,
tm_mon=11,
tm_mday=25,
tm_hour=7,
tm_min=36,
tm_sec=43,
tm_wday=0,
tm_yday=329,
tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=5, tm_mday=12, tm_hour=3, tm_min=10, tm_sec=0, tm_wday=6, tm_yday=132, tm_isdst=1)
2.4 ctime()
通过[时间戳]获取[时间字符串] (默认当前时间)
import time
res = time.ctime() # 默认使用当前时间戳
print(res)
res = time.ctime(1557645000) # 可以手动自定义时间戳
print(res)
执行
[root@node10 python]# python3 test.py
Mon Nov 25 07:38:28 2019
Sun May 12 03:10:00 2019
2.5 asctime()
通过[时间元组]获取[时间字符串](参数是时间元组)
import time
ttl = (2019,5,12,15,21,0,1,0,0)
res = time.asctime(ttl)
print(res)
执行
[root@node10 python]# python3 test.py
Tue May 12 15:21:00 2019
优化版
import time
ttl = (2019,5,12,15,21,0,4,0,0)
res = time.mktime(ttl)
print(time.ctime(res))
执行
[root@node10 python]# python3 test.py
Sun May 12 16:21:00 2019
2.6 strftime()
通过[时间元组]格式化[时间字符串] (格式化字符串,[可选时间元组参数])
import time
res = time.strftime("%Y-%m-%d %H:%M:%S") # 默认以当前时间戳转化为字符串
print(res)
# linux当中 strftime可以识别中文,windows不行
res = time.strftime("%Y-%m-%d %H:%M:%S",(2008,8,8,8,8,8,0,0,0))
print(res)
执行
[root@node10 python]# python3 test.py
2019-11-25 07:42:20
2008-08-08 08:08:08
2.7 strptime()
通过[时间字符串]提取出[时间元组] (时间字符串,格式化字符串)
注意:左右两侧的字符串要严丝合缝,有多余的空格都不行,然后按照次序,依次通过格式化占位符,提取时间
import time
res = time.strptime("2019年3月8号15点21分30秒,发射了人造卫星嫦娥" , "%Y年%m月%d号%H点%M分%S秒,发射了人造卫星嫦娥")
print(res)
执行
[root@node10 python]# python3 test.py
time.struct_time
(tm_year=2019,
tm_mon=3,
tm_mday=8,
tm_hour=15,
tm_min=21,
tm_sec=30,
tm_wday=4,
tm_yday=67,
tm_isdst=-1)
2.8 perf_counter()
用于计算程序运行的时间
import time
startime = time.perf_counter()
print(startime)
for i in range(1000000000):
pass
endtime = time.perf_counter()
# 结束时间 - 开始时间[ time.time()] 也可以实现;
res = endtime - startime
print(res)
执行
[root@node10 python]# python3 test.py
252269.756153608
44.59376426698873
023.Python的随机模块和时间模块的更多相关文章
- python常用模块之时间模块
python常用模块之时间模块 python全栈开发时间模块 上次的博客link:http://futuretechx.com/python-collections/ 接着上次的继续学习: 时间模块 ...
- Python入门基础学习(时间模块,随机模块)
Python基础学习笔记(六) time模块: 时间的三种表示方法: 1.格式化字符串 2.时间戳 用来表示和1970年的时间间隔,单位为s 3.元组 struct_time 9个元素 time的st ...
- python学习之老男孩python全栈第九期_day019知识点总结——collections模块、时间模块、random模块、os模块、sys模块
一. collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:namedtuple.deque.Counte ...
- random随机模块,time时间模块
random /随机模块: 作用: 在某个范围内取到每一个值得概率是相通的. 一.随机小数 random.random() import random print(random.random()) ...
- python基础 ---time,datetime,collections)--时间模块&collections 模块
python中的time和datetime模块是时间方面的模块 time模块中时间表现的格式主要有三种: 1.timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算 ...
- Python学习总结14:时间模块datetime & time & calendar (一)
Python中的常用于处理时间主要有3个模块datetime模块.time模块和calendar模块. 一.time模块 1. 在Python中表示时间的方式 1)时间戳(timestamp):通常来 ...
- python语言(四)关键字参数、内置函数、导入第三方模块、OS模块、时间模块
一.可变参数 定义函数时,有时候我们不确定调用的时候会传递多少个参数(不传参也可以).此时,可用包裹(packing)位置参数(*args),或者包裹关键字参数(**kwargs),来进行参数传递,会 ...
- python常用标准库(时间模块 time和datetime)
常用的标准库 time时间模块 import time time -- 获取本地时间戳 时间戳又被称之为是Unix时间戳,原本是在Unix系统中的计时工具. 它的含义是从1970年1月1日(UTC/G ...
- python模块之时间模块
一.time模块 表示时间的方式分为: 1时间戳(timestamp) 2格式化化的时间字符串(format string) 3结构化时间(struct_time) import time print ...
随机推荐
- V-Distpicker不能完整显示内容
V-Distpicker插件在列表中,或者在dialog中只显示了第一次的内容,第二次就开始报错.这个和前篇中的地图问题其实如出一辙. 解决办法,重加载,局部刷新. <el-form-item ...
- UVA - 11149 Power of Matrix(矩阵倍增)
题意:已知N*N的矩阵A,输出矩阵A + A2 + A3 + . . . + Ak,每个元素只输出最后一个数字. 分析: A + A2 + A3 + . . . + An可整理为下式, 从而可以用lo ...
- Java算法练习——盛最多水的容器
题目链接 题目描述 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) ...
- apicloud - addEventListener 接收不到 sendEvent 的解决方法
要将 api.addEventListener 放在最前面 , 减少受到其他事件的影响 apiready = function () { api.addEventListener({ ...
- SVM手撕公式
卓越源于坚持,努力须有方向. 如上图所示,有一堆训练数据的正负样本,标记为:,假设有一个超平面H:,可以把这些样本正确无误地分割开来,同时存在两个平行于H的超平面H1和H2: 使离H最近的正负样本刚好 ...
- <kotlin>基础,杂七杂八(亲测有效)
okhttp class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) ...
- python学习---format、当前时间
1.数字格式化 format < :左对齐 > :右对齐 a = “随机数是{:>4d}”.format(1) 结果是0001 2.当前时间 import dat ...
- zabbix监控日志关键字
1 添加zabbix监控项目 A.选择类型为“”zabbix客户端(主动式)“” B.键值: xx_log.log 为日志的绝对路径 connectException 为关键字 ---需根据自己需要定 ...
- For循环的几个练习
1.括号里面只能放加或减,如果要使等式成立,括号里面应该放什么运算符12()34()56()78()9 = 59 2.蓝球弹起的高度篮球从10米高的地方落下,每次弹起的高度是原来的0.3倍,问弹跳10 ...
- .NET微信开发 配置微信公众号基本配置的几种方法
自己最近搞了公众号,记录一下. 目的就是为了在微信公众号里启用服务器配置. 微信文档 其实微信文档已经写得很清楚了,也很简单.(微信的目的就是它发送一个get请求,希望我们能接受一下,然后给微信回个数 ...