python中random模块验证码_Python之random模块详解
python的random模块
random模块是python中一个生成随机数的模块。
random不是python解释器内置的模块。
导入random模块的方法是:import random
如果只使用random模块中的单个方法的话,也可以使用from random import method_name
例如:
我只想生成一个10以内的随机的整数,不需要random模块的别的方法的时候,也可以使用以下命令from random import randint
random.randint(0,10)
查看random模块的内置方法可以使用以下命令:dir(random)
其中常用的方法有下面几个:
choice#从一个非空列表中随机选择一个元素
>Choose a random element from a non-empty sequence.>>> random.choice([1,3,5,7])
1
>>> random.choice([1,3,5,7])
3
randint#从a和b(包括b)的范围内随机生成一个整数
>Return random integer in range [a, b], including both end points.>>> random.randint(0,9)
8
>>> random.randint(0,9)
0
>>> random.randint(0,9)
4
>>> random.randint(0,9)
3
random#生成一个0(包括0)到1内的浮点数
>random() -> x in the interval [0, 1).>>> random.random()
0.3898009217264272
>>> random.random()
0.897328889551127
>>> random.random()
0.9899842422616898
randrange#在指定范围内随机生成一个整数
> Choose a random item from range(start, stop[, step]).
This fixes the problem with randint() which includes the
endpoint; in Python this is usually not what you want.>>> random.randrange(100,200)
156
>>> random.randrange(100,200)
133
>>> random.randrange(10,20)
11
>>> random.randrange(10,20)
15
sample#从一个列表或集合中随机选择多个元素
>Chooses k unique random elements from a population sequence or set.>>> random.sample([23,[1,2,3],"aa","yy"],2)
['aa', 23]
>>> random.sample([23,[1,2,3],"aa","yy"],3)
['aa', [1, 2, 3], 23]
shuffle#把一个列表内元素的顺序打乱,列表的内存地址不变
>Shuffle list x in place, and return None.>>> l1=[1,"a",3,5,"b","c"]
>>> id(l1)
140436582171208
>>> random.shuffle(l1)
>>> print(l1)
[1, 'b', 'a', 'c', 3, 5]
>>> id(l1)
140436582171208
uniform#在指定范围内随机生成一个浮点数
>Get a random number in the range [a, b) or [a, b] depending on rounding.>>> random.uniform(12,33)
27.02416276339153
>>> random.uniform(12,33)
13.832414985007832
>>> random.uniform(12,33)
12.827493699496461
现在想生成一个5位包含大小写和数字的随机验证码,代码如下:import random
def random_code():
random_str = ""
for i in range(5):
#随机选择一个整数
num=random.randint(0,9)
#生成一个大写字母
upper=chr(random.randint(65,90))
#生成一个小写字母
lower=chr(random.randint(97,122))
#每次从大小写字母中随机选择一位
res=random.choice([str(num),upper,lower])
random_str+=res
return random_str
print(random_code())
运行5次这个程序,生成的验证码如下:KwlTN
t1Pag
294l6
t1Pag
294l6
python中random模块验证码_Python之random模块详解相关推荐
- python中count的作用_python count函数用法详解
在python中可以使用"count()"函数统计字符串里某个字符出现的次数,该函数用于统计次数,其语法是"count(sub, start= 0,end=len(str ...
- python数组相减_对Python 中矩阵或者数组相减的法则详解
对Python 中矩阵或者数组相减的法则详解 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,labe ...
- Python中第三方库Requests库的高级用法详解
Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...
- python中requests库的用途-python中requests库session对象的妙用详解
在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...
- 站长在线Python精讲:在Python中使用正则表达式的sub()方法替换字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的sub()方法替换字符串详解>. 在Python中使用正则表达式的sub()方法替换字符串. ...
- 站长在线Python精讲:在Python中使用正则表达式的split()方法分割字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的split()方法分割字符串详解>. 使用正则表达式分割字符串 在Python中使用正则表达 ...
- python url解码_对python中url参数编码与解码的实例详解
一.简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码. 二.关键代码 1.url编码 对字符串编码用urllib.parse包下的quote(string, saf ...
- getpid php,对python中的os.getpid()和os.fork()函数详解
如下所示: import os import sys import time processNmae = 'parent' print "Program executing ntpid:%d ...
- 站长在线python精讲:在Python中使用len()函数计算字符串的长度详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用len()函数计算字符串的长度详解>.本知识点主要内容有:在Python中使用len()函数计算字符串在 ...
最新文章
- Http与RPC通信协议的比较
- Android 进阶自定义View(4)图表统计LineChartView曲线图的实现
- 成为数据专家,你只差一个Quick Insights的距离
- java-第七章-数组-循环输出
- Redis 是单线程凭什么能支撑高并发
- 结构光双目视觉测距原理
- 生成pyd文件时提示“Unable to find vcvarsall.bat”的问题
- Antd 多层Modal+Form组件嵌套 如何在父级组件中清空子级组件状态与数据?
- 金融数据分析与挖掘实战1.7-1.8
- 2018年慈溪职高计算机实验班2019,包场高级中学(创新实验班)2019年中考录取分数线...
- 企业可视化大屏如何搭建
- Perl多线程ping加端口扫描
- Linux进程的管理与调度(四) -- Linux下的进程类别以及其创建方式
- 代码整洁读书笔记---序,前言,代码猴子
- jQuery lightbox插件(相册全屏效果)
- php 分级机价格,两种不同结构的分级机对比
- 干货丨看金仓数据库如何支持透明加密!
- windows配置环境变量和path环境后即时生效
- 在线考试题库型App
- css中好看常用的中文字体