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模块详解相关推荐

  1. python中count的作用_python count函数用法详解

    在python中可以使用"count()"函数统计字符串里某个字符出现的次数,该函数用于统计次数,其语法是"count(sub, start= 0,end=len(str ...

  2. python数组相减_对Python 中矩阵或者数组相减的法则详解

    对Python 中矩阵或者数组相减的法则详解 最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,labe ...

  3. Python中第三方库Requests库的高级用法详解

    Python中第三方库Requests库的高级用法详解 虽然Python的标准库中urllib2模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人实在感觉不好.它已经不适合现在的时代, ...

  4. python中requests库的用途-python中requests库session对象的妙用详解

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...

  5. 站长在线Python精讲:在Python中使用正则表达式的sub()方法替换字符串详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的sub()方法替换字符串详解>. 在Python中使用正则表达式的sub()方法替换字符串. ...

  6. 站长在线Python精讲:在Python中使用正则表达式的split()方法分割字符串详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的split()方法分割字符串详解>. 使用正则表达式分割字符串 在Python中使用正则表达 ...

  7. python url解码_对python中url参数编码与解码的实例详解

    一.简介 在python中url,对于中文等非ascii码字符,需要进行参数的编码与解码. 二.关键代码 1.url编码 对字符串编码用urllib.parse包下的quote(string, saf ...

  8. getpid php,对python中的os.getpid()和os.fork()函数详解

    如下所示: import os import sys import time processNmae = 'parent' print "Program executing ntpid:%d ...

  9. 站长在线python精讲:在Python中使用len()函数计算字符串的长度详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用len()函数计算字符串的长度详解>.本知识点主要内容有:在Python中使用len()函数计算字符串在 ...

最新文章

  1. Http与RPC通信协议的比较
  2. Android 进阶自定义View(4)图表统计LineChartView曲线图的实现
  3. 成为数据专家,你只差一个Quick Insights的距离
  4. java-第七章-数组-循环输出
  5. Redis 是单线程凭什么能支撑高并发
  6. 结构光双目视觉测距原理
  7. 生成pyd文件时提示“Unable to find vcvarsall.bat”的问题
  8. Antd 多层Modal+Form组件嵌套 如何在父级组件中清空子级组件状态与数据?
  9. 金融数据分析与挖掘实战1.7-1.8
  10. 2018年慈溪职高计算机实验班2019,包场高级中学(创新实验班)2019年中考录取分数线...
  11. 企业可视化大屏如何搭建
  12. Perl多线程ping加端口扫描
  13. Linux进程的管理与调度(四) -- Linux下的进程类别以及其创建方式
  14. 代码整洁读书笔记---序,前言,代码猴子
  15. jQuery lightbox插件(相册全屏效果)
  16. php 分级机价格,两种不同结构的分级机对比
  17. 干货丨看金仓数据库如何支持透明加密!
  18. windows配置环境变量和path环境后即时生效
  19. 在线考试题库型App
  20. css中好看常用的中文字体

热门文章

  1. wordpress打开速度慢的解决方案
  2. 什么是泛解析以及怎么做泛解析
  3. 死亡细胞(c++,生命游戏)
  4. Rework的读书摘要
  5. 联合证券|左手消费,右手TMT!超270只股票新年获“买入”“推荐”
  6. 论文投稿指南——中文核心期刊推荐(冶金工业)
  7. 素数在c语言表达能力,巧用C语言中的Continue语句解决数论中的问题
  8. 《荷尔蒙战争》——读后感
  9. Office软件优化技巧集锦
  10. 2021年中国生姜种植面积、产量及主要贸易地区分析[图]