学习笔记(02):Python自动生成测试数据-random/string模块

python自动生成数据

  • random

          python自带的模块,用于生产随机数

  • string

          python自带的模块, 用于返回常用字符串

random

# 生成随机数
import random

print(random.random())
# 浮点数0.6122054957863331,范围为(0-1)

print(random.randint(1, 100))
# 0-100之间的整数:27

print(random.uniform(10, 20))
# 10-20之间的一个浮点数:15.262479176469022

li = ["a","b","c"]
print(random.choice(li))
# 随机获取列表值:b

lb = ["a","b","c","d","e","f","1","2","3"]
print(random.sample(lb, 2))
# 随机获取列表中的2个值:['2', '3']

 string

import string

print(string.ascii_lowercase)
# 全部小写字母: abcdefghijklmnopqrstuvwxyz
print(string.ascii_uppercase)
# 全部大写字母: ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_letters)
# 大小写字母拼接: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.digits)
# 0-9的数字:0123456789

实例1:随机生成八位字符串

  1. 大小写+数字的拼接
  2.  从步骤1中获取的字符串中随机选择一个字符
  3. 将选择的字符依次追加到sa列表中
  4. 八位字符串则循环添加8次
  5. 将列表转换为字符串
sa = [] 
for i in range(8): 
    sa.append(random.choice(string.ascii_letters + string.digits)) 
    print(sa) 
user = "".join(sa) 
print(user) 
# 随机生成八位字符串:EgNIds03, DqpqmpXF

实例1:生成随机汉字

Unicode码随机生成汉字

  1. 直接基于Unicode码生成
  2. 在unicode码中,汉字范围是(0x4E00,0x9FBF)
def unicode_zh():
    zh = random.randint(0x4E00,0x9FBF)
    return chr(zh)

print(unicode_zh())
# 金,茴

gbk2312码随机生成汉字

  1. 在gbk2312码中,字符编码采用两个字节组合
  2. 汉字第一个字节范围为(0xB0,0xF7)
  3. 汉字第二个字节范围为(0xA1,0xFE)
  4. 两个字节组合后转换成汉字
def unicode_gbk2312():
    first = random.randint(0xB0,0xF7)
    second = random.randint(0xA1,0xFE)
    # 两个字节组合转换一下
    s = f'{first:x}{second:x}'
    # 转换成汉字
    zh = bytes.fromhex(s).decode('gb2312')
    return zh
print(unicode_gbk2312())
# 嗔,砚

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值