Python生成随机数字和字符详情
manongba · 129浏览 · 发布于2022-07-28 +关注

这篇文章主要介绍了Python生成随机数字和字符详情,random是python自带库,使用前导入 import random 即可,更多相关内容需要的朋友可以参考一下

random库

random是python自带库,使用前导入 import random 即可,无需安装。

举例:

import random
 
print(random.random())  # 0.8564557389763434
print(random.uniform(0, 100))   # 78.19630268831175
print(random.randint(0, 100))   # 45
 
print(random.choice('12345'))   # 4
print(random.choice([1,2,3,4,5]))   # 1
print(random.choice((1,2,3,4,5)))   # 5
 
print(random.sample('12345', 3))    # ['1', '5', '2']
print(random.sample([1,2,3,4,5], 3))    # [5, 4, 1]
print(random.sample((1,2,3,4,5), 3))    # [4, 5, 1]
 
list = [1, 2, 3, 4, 5]
random.shuffle(list)
print(list) # [3, 5, 4, 1, 2]
 
print(random.randrange(0,20,5)) # 10

生成一个指定长度的随机字符串

使用random.randint(0,n)

思路:定义一个基础字符序列,要产生多长的字符串就循环调用多少次random.randint(0,n),n=基础字符序列的长度,在这个序列中选择随机位置的字符,然后进行拼接返回。

import random
import string
 def generate_random_str(randomlength=16):
  """
  生成一个指定长度的随机字符串
  """
  random_str =''
    # 使用string库中的字母、数字和标点符号组成一个基础字符序列
  base_str = string.ascii_letters + string.digits + string.punctuation
  length =len(base_str) -1
  for i in range(randomlength):
    random_str +=base_str[random.randint(0, length)]
  return random_str
 print(generate_random_str(30))  # T`^7:C?z4h0qd!JpO:MFNB2_GL>dXm

使用random.choice()随机选择

import random
import string
 def generate_random_str(randomlength=16):
    """
      生成一个指定长度的随机字符串
    """
    # 使用string库中的字母、数字和标点符号拼接程序列
    str_list = [random.choice(string.ascii_letters + string.digits + string.punctuation) for i in range(randomlength)]
    random_str = ''.join(str_list)
    return random_str
print(generate_random_str(30))  # ')8D@Bu&\1ltf!}HUcI-.;^>Vy[n|V

使用random.simple()随机选择

import random
import string
 def generate_random_str(randomlength=16):
    """
    生成一个指定长度的随机字符串
    """
    # 使用string库中的字母、数字和标点符号组成一个基础字符序列
    base_str = string.ascii_letters + string.digits + string.punctuation
    str_lst = random.sample(base_str, randomlength) #randomlength<=lenth(base_str)
    random_str = ''.join(str_lst)
    return random_str

Faker库

使用Faker库可生成各种各样的伪数据(姓名、地址、邮箱、电话、密码、一段文字、一句话等)。
安装:pip install faker
导入:from faker import Faker

示例:

from faker import Faker
fk = Faker(locale='zh-Cn')
 # 姓名
print(fk.name())    # 刘娜
# 身份证
print(fk.ssn())     # 141022195412020845
# 手机号
print(fk.phone_number())    # 18226186826
# 邮箱
print(fk.email())   # zoujie@example.org

个人信息类

数字类

文本、加密类

日期类

地理信息类

from faker import Faker
fk = Faker(locale='zh-Cn')
 # 从[0,9]中随机获取7位数字(可重复)
print([fk.random_digit() for i in range(7)])    # [2, 0, 7, 8, 2, 3, 2]
# 从[0,9]中随机获取7位数字(不可重复)
print([fk.unique.random_digit() for i in range(7)])     # [4, 9, 3, 6, 8, 5, 2]

到此这篇关于Python生成随机数字和字符详情的文章就介绍到这了


相关推荐

PHP实现部分字符隐藏

沙雕mars · 1133浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别

kenrry1992 · 665浏览 · 2019-05-08 21:14:54
Tomcat 下载及安装配置

manongba · 730浏览 · 2019-05-13 21:03:56
JAVA变量介绍

manongba · 813浏览 · 2019-05-13 21:05:52
什么是SpringBoot

iamitnan · 780浏览 · 2019-05-14 22:20:36
加载中

0评论

评论
分类专栏
小鸟云服务器
扫码进入手机网页