最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Python之random模块详解

    正文概述    2020-06-14   262

    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

    相关推荐:《Python视频教程》

    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模块详解

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元