知行编程网知行编程网  2022-12-22 13:30 知行编程网 隐藏边栏  8 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python之random模块详解的相关知识,包括Python里的random模块,以及导入random模块的语法为这些编程知识,希望对大家有参考作用。


Python的random模块详解


python的random模块

random模块是python中一个生成随机数的模块。

random不是python解释器内置的模块。

导入random模块的方法是:

import 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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享