python随机数模块_random随机数模块

[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]

```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值