Python random模块与string模块常用方法详解

巷口听风
巷口听风
发布时间:2026-10-13 | 3人浏览过
原创

本文系统总结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-

感谢阅读,希望本文内容能对大家有所帮助,欢迎支持本站!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表