python基础库-random模块string模块

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 类可能更适合。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值