🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] 程序中有很多地方需要用到随机字符,比如登录网站的随机验证码,通过random模块可以很容易生成随机字符串 ## 常见用法举例 ### andrange和randint随机返回整数 * 语法 `randrange(self, start, stop=None, step=1, _int=int)` `randint(self, a, b)` * 举例 ``` >>> random.randrange(1,10) 3 #返回1-10之间的一个随机数,不包括10 >>> random.randint(1,10) 4 #返回1-10之间的一个随机数,包括10 >>> random.randrange(0, 100, 2) 96 #步长为2返回随机数 ``` ### random随机返回浮点数 ``` >>> random.random() 0.7618650194887417 >>> random.random() 0.8179668589356077 ``` ### choice随机返回指定集合中的单个字符串 ``` >>> random.choice('123abc#@!') '!' >>> random.choice('123abc#@!') 'b' >>> random.choice(['石头','剪刀','布']) '剪刀' ``` ### sample随机返回集合中的指定数量字符 ``` >>> random.sample('123abc#@!',2) ['b', '1'] >>> random.sample('123abc#@!',2) ['2', 'a'] ``` ### 配合sting模块生成随机字符串 random模块没有办法生成随机的字符串,不过可以配合sting模块实现,方法如下: ``` >>> import string >>> string.ascii_letters 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' >>> string.digits '0123456789' >>> random.sample(string.ascii_letters+string.digits,6) ['q', 'X', 'P', 'm', 'b', '7'] >>> ''.join(random.sample(string.ascii_letters+string.digits,6)) 'HMfwXR' ``` ### shuffle将现有列表随机排列 ``` >>> li=[9,8,7,1,2,3,'a','b','c'] >>> random.shuffle(li) >>> li [2, 7, 'b', 1, 'c', 'a', 9, 3, 8] ```