python的random模块

简介: random模块是python中一个生成随机数的模块。random不是python解释器内置的模块。导入random模块的方法是:import random如果只使用random模块中的单个方法的话,也可以使用from random import method_name例如:我只想生成...

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

目录
相关文章
|
2月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
59 4
|
22天前
|
Python
Python Internet 模块
Python Internet 模块。
119 74
|
2月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
123 63
|
2月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
1天前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
14 3
|
2月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
2月前
|
JSON Linux 数据格式
Python模块:从入门到精通,只需一篇文章!
Python中的模块是将相关代码组织在一起的单元,便于重用和维护。模块可以是Python文件或C/C++扩展,Python标准库中包含大量模块,如os、sys、time等,用于执行各种任务。定义模块只需创建.py文件并编写代码,导入模块使用import语句。此外,Python还支持自定义模块和包,以及虚拟环境来管理项目依赖。
Python模块:从入门到精通,只需一篇文章!
|
2月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
45 5
|
2月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
2月前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
66 5