Python生成随机数字和字符详情

目录
  • random库
  • 生成一个指定长度的随机字符串
  • Faker库

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生成随机数字和字符详情的文章就介绍到这了,更多相关Python生成随机数字内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python随机生成大小写字母数字混合密码(仅20行代码)

    用简单的方法生成随机性较大的密码 仅用20行代码随机生成密码 核心思路:利用random模块 random模块随机生成数字,大小写字母,循环次数 while循环+随机生成的循环次数-->随机plus++ 大写字母ASKII码在65-90之间 小写字母Askll码在97-122之间 最终效果: x个大写字母+y个数字+z个小写字母(x,y,z均随机) 随机性相较于以往单调的 小写+数字+大写+小写+数字+大写- 循环有所提升 import random print("随机数生成") time

  • Python中生成一个指定长度的随机字符串实现示例

    方法一: 定义一个函数,参数为所要生成随机字符串的长度.通过random.randint(a, b)方法得到随机数字,具体函数如下: def generate_random_str(randomlength=16): """ 生成一个指定长度的随机字符串 """ random_str = '' base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789' l

  • Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例

    上代码: 环境:Python3 import random,string s=string.ascii_letters+string.digits print(s) n={''.join(random.choices(s,k=8)) for I in range(60000)} print(len(n)) with open('a.csv','w') as f: for i in n: f.write(i+'\n') 运行代码,生成a.csv文件并保存. n的类型为set集合类型,实现自动去重.

  • Python生成8位随机字符串的方法分析

    本文实例讲述了Python生成8位随机字符串的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import random import string #第一种方法 seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+=-" sa = [] for i in range(8): sa.a

  • Python随机生成手机号、数字的方法详解

    本文实例讲述了Python随机生成手机号.数字的方法.分享给大家供大家参考,具体如下: Python随机产生手机号.数字.代码如下: # -*- coding:gbk -*- import random #随机产生26个手机号:以13开头,后面跟一位4~9之间的任意一位数字,后面是8位随机数字 for _ in range(26): print('13' + str(random.randrange(4,10))+ ''.join( str(random.choice(range(10))) f

  • Python随机生成带特殊字符的密码

    在日常运维中,如果涉及到用户管理,就一定会用到给用户设置密码的工作,其实吧,平时脑子里觉得设置个密码没什么,但要真让你随手敲一个12位带特殊字符的随机密码,也是很痛苦的事,如果让你敲10个这样的随机密码,我估计要人要疯了,所以这事不适合人干,但机器最做这个最拿手,今天我们就来学习一段python脚本,可以直接生成自己需要的密码,且密码长度,数字,字符个数随意你指定,废话不多说了,我们直接看代码: #!/usr/bin/env python import string from itertools

  • python 脚本生成随机 字母 + 数字密码功能

    下面一段代码给大家介绍python 脚本生成随机 字母 + 数字密码功能,具体代码如下所述: #coding:utf-8 import random,string def GetPassword(length): # 随机生成数字个数 Ofnum=random.randint(1,length) Ofletter=length-Ofnum # 选中ofnum个数字 slcNum=[random.choice(string.digits) for i in range(Ofnum)] # 选中of

  • python生成随机密码或随机字符串的方法

    本文实例讲述了python生成随机密码或随机字符串的方法.分享给大家供大家参考.具体实现方法如下: import string,random def makePassword(minlength=5,maxlength=25): length=random.randint(minlength,maxlength) letters=string.ascii_letters+string.digits # alphanumeric, upper and lowercase return ''.joi

  • Python生成随机数字和字符详情

    目录 random库 生成一个指定长度的随机字符串 Faker库 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.cho

  • javascript自动生成包含数字与字符的随机字符串

    本文实例讲述了javascript自动生成包含数字与字符的随机字符串的方法.分享给大家供大家参考.具体如下: 这里主要用到Math.random() 和 Math.floor() 两个函数 Math.random()   -- 返回0和1之间的伪随机数 可能为0,但总是小于1,[0,1) Math.floor()    -- 向下取整,舍掉小数字后的值 实现随机多位数的方法: 复制代码 代码如下: /** * *    随机生成数字 * *@param num 生成数字位数 */  functi

  • Python生成随机验证码的两种方法

    使用python生成随机验证码的方法有很多种,今天小编给大家分享两种方法,大家可以灵活运用这两种方法,设计出适合自己的验证码方法. 方法一: 利用range方法,对于range方法不清楚的同学,请参考文章<python开发的range()函数> # -*- coding: utf-8 -*- import random def generate_verification_code(len=6): ''' 随机生成6位的验证码 ''' # 注意: 这里我们生成的是0-9A-Za-z的列表,当然你

  • Python生成随机数组的方法小结

    本文实例讲述了Python生成随机数组的方法.分享给大家供大家参考,具体如下: 研究排序问题的时候常常需要生成随机数组来验证自己排序算法的正确性和性能,今天把Python生成随机数组的方法稍作总结,以备以后查看使用. 一.使用random模块生成随机数组 python的random模块中有一些生成随机数字的方法,例如random.randint, random.random, random.uniform, random.randrange,这些函数大同小异,均是在返回指定范围内的一个整数或浮点

  • 详解Linux如何生成随机数字和字符串

    生成随机数字 1.使用系统的$RANDOM变量 > echo $RANDOM 14587 2.使用date +%s%N > date +%s%N 1529584024896587259 3.使用/dev/random 或 /dev/urandom /dev/random存储着系统当前运行环境的实时数据,是阻塞的随机数发生器,读取有时需要等待,尽量避免使用. /dev/urandom非阻塞随机数发生器,读取操作不会产生阻塞. > cat /dev/urandom | head -n 10

  • MySQL 生成随机数字、字符串、日期、验证码及 UUID的方法

    上一篇介绍了如何在 Oracle 生成随机数字.字符串.日期.验证码以及 UUID,今天我们继续讨论在 MySQL 中生成各种随机数据的方法.

  • Oracle生成随机数字、字符串、日期、验证码及 UUID的方法

    在日常生活中,随机数对于我们而言并不陌生,例如手机短信验证码就是一个随机的数字字符串:对于统计分析.机器学习等领域而言,通常也需要生成大量的随机数据用于测试.数据抽样.算法验证等.那么今天我们就来谈谈如何在 Oracle 数据库中生成随机数据.

  • 利用Python生成随机验证码详解

    目录 1.先搞环境 2.开始码代码 3. 加干扰 4. 加入更多的干扰 5. 验证码 + 随机字符 6. 验证码保存本地(选) 最近感觉被大数据定义成机器人了,随便看个网页都跳验证码. 怎么用python绕验证码是个令人头秃的事情, 我投降!那么今天手把手教大家如何写验证码,去为难别人,让他们头秃. 说错了,其实就是教大家如何通过python代码去生成验证码~~ 1.先搞环境 1.我们需要你电脑有python3.4以上的版本 2.pip安装PIL包 pip install pillow 3.默念

  • python生成随机mac地址的方法

    本文实例讲述了python生成随机mac地址的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/python import random def randomMAC(): mac = [ 0x52, 0x54, 0x00, random.randint(0x00, 0x7f), random.randint(0x00, 0xff), random.randint(0x00, 0xff) ] return ':'.join(map(lambda x: "%02x" %

  • ssh生成随机数字验证码操作步骤

    1.login.jsp页面程序 复制代码 代码如下: <script type="text/javascript"> function changeValidateCode(obj) { //获取当前的时间作为参数,无具体意义 var timenow = new Date().getTime(); //每次请求需要一个不同的参数,否则可能会返回同样的验证码 //这和浏览器的缓存机制有关系,也可以把页面设置为不缓存,这样就不用这个参数了. obj.src="rand

随机推荐