string 模块和 random 模块是标准库中常用的模块;
string 模块提供了一些方便的常量和函数,可以简化处理字符串的操作;
random 模块用于生成随机数,包括随机整数、随机浮点数、随机选择列表元素等功能;
以下是 random 模块和string 模块中一些常用的函数:
random模块
随机生成/获取数据
print('生成一个 [0.0, 1.0] 范围内的随机浮点数',random.random())
print('生成一个指定范围内的随机整数',random.randint(1,123))
print('在列表中随机获取一个值',random.choice(['coffee','tea','water','cola','milk']))
打乱列表元素顺序
# 定义一个列表
drink = ['coffee','tea','water','cola','milk']
print('原始列表',drink)
# 随机打乱列表元素顺序
random.shuffle(drink)
print('打乱列表元素的顺序',drink)
random模块半自动生成随机验证码
'''半自动生成验证码'''
code1 = str(random.randint(1,999999)).zfill(6)
# 既包含字母又包含数字的验证码
code2 = ''.join(random.sample('asdfghjklqwertyuiopzxcvbnm1234567890',6))
# 只包含数字的验证码
code3 = ''.join(random.sample('0123456789',6))
# 在列表中随机取值6位
code4 = random.sample([1,2,3,4,5,6,7,8,9,0],6)
string模块
获取整数、字母、特殊符号等
'''string模块'''
print(string.digits) # 输出所有的整数
print(string.ascii_lowercase)# 输出所有小写字母
print(string.ascii_uppercase) # 输入所有大写字母
print(string.ascii_letters)# 输出所有大写字母+小写字母
print(string.punctuation) # 输出所有的特殊符号
随机获取数据
print(random.choice(string.digits)) # 随机取一个整数值
print(random.choice(string.ascii_lowercase)) # 随机取一个小写字母
print(random.uniform(1,999999))# 随机取一个小数值
将字符串中的单词首字母大写,其他字母小写
capitalized_str = string.capwords("hello world")
print(capitalized_str) # 输出:Hello World
random模块配合string模块全自动生成随机验证码
'''全自动生成验证码'''
# 定义一个数据列表
data_list = string.digits + string.ascii_letters
# 随机获取数据列表中的6位作为验证码
code5 = ''.join(random.sample(data_list,6))
print(code5)
字符串格式化的两种方式
# string.Formatter()类通过占位符和格式化选项来控制字符串的输出格式,可以接受位置参数或关键字参数
formatter = string.Formatter()
template = "Hello, {name}! You have {count} new messages."
formatted = formatter.format(template, name="Alice", count=3)
print(formatted)
# string.Template()类通过占位符 $ 实现格式化,substitute() 方法用于替换字符串中的占位符
template = string.Template("Hello, $name! You have $count new messages.")
substituted = template.substitute(name="Bob", count=5)
print(substituted)
# 总体来说,如果需要更复杂的字符串格式化功能,可以选择使用 Formatter 类;如果只需要简单的字符串替换功能,Template 类可能更适合。