[Python学习日记-49] Python 中的随机数模块 —— random
[Python学习日记-49] Python 中的随机数模块 —— random
简介
random 模块
简介
程序中有很多地方需要用到随机字符,例如登录网站的随机验证码,而这些功能可以通过 random 模块来很容易生成随机字符串,然后实现这些功能,下面来一起学习一下 random 模块的一些常用方法的介绍吧。
random 模块
一、randrange()
用于生成一个指定范围内的随机整数,语法如下
random.randrange([start], stop,[step])
参数说明:
返回一个随机选择的整数,范围在 [start, stop) 之间,按照步长 step 进行选择,演示代码如下
import random
# 生成0-9之间的随机整数
num1 = random.randrange(10)
print(num1)
# 生成1-10之间的随机整数,不包括11
num2 = random.randrange(1, 11)
print(num2)
# 生成1-10之间的随机偶数
num3 = random.randrange(2, 11, 2)
print(num3)
代码输出如下:
二、randint()
用于生成一个指定范围内的随机整数,语法如下
random.randint(start, stop)
参数说明:
函数返回一个随机选择的整数,范围在 [start, stop] 之间,包含 stop,演示代码如下
import random
# 生成0-9之间的随机整数
num1 = random.randint(0, 9)
print(num1)
# 生成1-10之间的随机整数
num2 = random.randint(1, 10)
print(num2)
代码输出如下:
三、random()
用于生成一个0到1之间的随机浮点数,语法如下
random.random()
返回一个0到1之间的随机浮点数,包括0但不包括1,演示代码如下
import random
# 生成一个0到1之间的随机浮点数
num = random.random()
print(num)
代码输出如下:
四、choice()
用于从一个非空序列中随机选择一个元素,语法如下
random.choice(seq)
参数说明:
返回 seq 序列中的一个随机元素,演示代码如下
import random
# 从列表中随机选择一个元素
fruits = ['apple', 'banana', 'orange', 'grape']
random_fruit = random.choice(fruits)
print(random_fruit)
# 从字符串中随机选择一个字符
word = 'hello'
random_char = random.choice(word)
print(random_char)
代码输出如下:
五、sample()
用于从一个序列中随机选择多个元素,返回一个新的列表,语法如下
random.sample(population, k)
参数说明:
返回一个新的列表,其中包含从 population 中随机选择的 k 个元素,演示代码如下
import random
import string
# 从列表中随机选择两个元素
fruits = ['apple', 'banana', 'orange', 'grape', 'kiwi']
random_fruits = random.sample(fruits, 2)
print(random_fruits)
# 从字符串中随机选择三个字符
word = 'hello'
random_chars = random.sample(word, 3)
print(random_chars)
# 随机选择数字+大小写字母五个字符
word = string.digits + string.ascii_uppercase + string.ascii_lowercase
random_chars = random.sample(word, 5)
print(''.join(random_chars))
代码输出如下:
上面代码使用了 string 模块,该模块可以提供了许多用于处理和操作字符串的函数和方法。一些常用的 string 模块函数和方法包括:
六、shuffle()
用于对一个可变序列进行随机打乱顺序,语法如下
random.shuffle(seq)
参数说明:
seq:表示一个可变序列,例如列表之类的
该方法将会打乱原列表的顺序,并不会生成新的可变序列,演示代码如下
import random
import string
seq = list(string.digits + string.ascii_uppercase + string.ascii_lowercase)
print(seq)
random.shuffle(seq)
print(seq)
代码输出如下:
作者:JoveZou