random模块提供各种生成随机数的函数。

1.生成随机整数:

random.randint(a,b)

random.randint(a,b) #返回一个随机整数,范围是a <=x <= b
>>> random.randint(888,999)
897
>>> random.randint(888,999)
989
>>> random.randint(888,999)
995
random.randrange(start, stop[, step]) #返回指定范围的整数
>>> random.randrange(2,20,2)
6
>>> random.randrange(2,20,2)
4
>>> random.randrange(2,20,2)
14

2.浮点数

random.random() #返回一个浮点数,范围是0.0 到1.0
>>> random.random()
0.22197993728352594
>>> random.random()
0.8683996624230081
>>> random.random()
0.29398514954873434
random.uniform(a,b)#返回一个指定范围的浮点数
>>> random.uniform(1, 10)
3.0691737651343636
>>> random.uniform(1, 10)
9.142357395475619
>>> random.uniform(1, 10)
6.927435868405478

3.随机序列

random.choice()#从非空序列中返回一个随机元素
>>> name
['du', 'diao', 'han', 'jiang', 'xue']
>>> random.choice(name)
'xue'
>>> random.choice(name)
'xue'
>>> random.choice(name)
'du'
>>> random.choice(name)
'du'
>>> random.choice(name)
'du'
>>> random.choice(name)
'jiang'
#随机返回指定长度的子序列
>>> random.sample(name,2)
['xue', 'du']
>>> random.sample(name,2)
['diao', 'jiang']
>>> random.sample(name,2)
['xue', 'du']

生成指定长度的随机密码:

[root@zhu ~]# python jiang.py
GrDUytJE
[root@zhu ~]# python jiang.py
8XaCoUTz
[root@zhu ~]# cat jiang.py
import random,string
chars=string.ascii_letters+string.digits
print ''.join([random.choice(chars) for i in range(8)])