Python random模块与string模块常用方法详解
本文系统总结Python中random模块与string模块的常用方法。详细解析random.random()、randint()、randrange()及sample()函数的用法与区别,并介绍string模块中大小写字母、数字及特殊字符的获取方式。通过完整代码示例,演示如何结合两个模块生成包含大小写、数字及特殊字符的随机验证码,帮助开发者快速掌握Python随机数据处理技巧。
本文旨在总结Python中random模块的常用方法,帮助读者快速掌握相关功能。
一、random模块常用函数介绍
1. random.random():用于随机生成一个0到1之间的小数。
print(random.random()) # 输出 0.6060562117996784
2. random.randint(m, n):用于随机生成一个介于m到n之间的整数,结果包含n。
print(random.randint(1, 5)) #输出 5
3. random.randrange(m, n):用于随机生成m到n之间的一个数,结果包含m但不包含n。
print(random.randrange(1, 5)) # 输出 3
4. random.sample(source, n):从序列source中随机选取n个元素,并返回一个列表。
print(random.sample(range(100), 5)) #输出 [27, 49, 21, 81, 45]
二、string模块常用属性
2.1 string.ascii_letters:包含所有大小写英文字母的字符串。
letters = string.ascii_letters print(letters) # 输出 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
2.2 string.ascii_lowercase:包含所有小写英文字母的字符串。
2.3 string.ascii_uppercase:包含所有大写英文字母的字符串。
2.4 string.digits:包含数字0-9的字符串(注:原文描述为1-9,但标准库包含0,此处保留原文描述倾向,实际使用时请注意)。
2.5 string.punctuation:包含所有特殊字符的字符串。
sss = string.punctuation
print(sss)
# 输出
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
2.6 生成随机验证码示例
接下来,我们将结合random模块和string模块,模拟生成一个包含特殊字符及大小写字母的随机验证码。
import random
import string
str_source = {
1: string.ascii_lowercase,
2: string.ascii_uppercase,
3: string.digits,
4: string.punctuation
}
check = []
for i in range(1, 5):
y = random.sample(str_source[i], 1)
check.append(y[0])
print("".join(check))
# 输出
bV5-
感谢阅读,希望本文内容能对大家有所帮助,欢迎支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









