random就是随机的意思,在Python中就是按照指定范围和规则,做随机取数的工作。

看下例子:

>>> import random
>>> random.random()
0.8899104894509411
>>> random.random()
0.19533630110531885

1、random.random()

在0到1之间取数。

2、random.randint(a,b)

其中a和b都是整数,看例子:

>>> random.randint(1,10)
8

取数范围从1到10之间的10个整数,即范围包含a,也包含b。

3、random.choice()

>>> random.choice('Hello!')
'o'
>>> random.choice('Hello!')
'l'
>>> random.choice('Hello!')
'!'
>>> random.choice('Hello!')
'o'
>>> random.choice('Hello!')
'e'
>>> random.choice('Hello!')
'H'
>>> random.choice('Hello!')
'l'

下面这个例子,由于范围值是一个字符串,那么返回值就是字符串中的随机一个字符。再看另一个例子:

>>> random.choice([1,3,[1,2,3],(1,2,3)])
1
>>> random.choice([1,3,[1,2,3],(1,2,3)])
(1, 2, 3)
>>> random.choice([1,3,[1,2,3],(1,2,3)])
[1, 2, 3]
>>> random.choice([1,3,[1,2,3],(1,2,3)])
[1, 2, 3]
>>> random.choice([1,3,[1,2,3],(1,2,3)])
1
>>> random.choice([1,3,[1,2,3],(1,2,3)])
3
>>> random.choice([1,3,[1,2,3],(1,2,3)])
1
>>> random.choice([1,3,[1,2,3],(1,2,3)])
(1, 2, 3)

当choice的参数是一个列表时,看下返回值。

4、random.sample()

>>> random.sample([1,3,[1,2,3],(1,2,3),1,5,7,[7,8,9],100],3)
[5, 100, (1, 2, 3)]
>>> random.sample([1,3,[1,2,3],(1,2,3),1,5,7,[7,8,9],100],3)
[[1, 2, 3], 3, 100]
>>> random.sample([1,3,[1,2,3],(1,2,3),1,5,7,[7,8,9],100],3)
[[7, 8, 9], 7, 1]
>>> random.sample([1,3,[1,2,3],(1,2,3),1,5,7,[7,8,9],100],3)
[3, [1, 2, 3], 1]
>>> random.sample([1,3,[1,2,3],(1,2,3),1,5,7,[7,8,9],100],3)
[1, 5, 7]

sample后面有2个参数,即sample(a,b)。其中a是一个序列,里面都是数字组成的元素:数字、元祖和序列;b是一个整数,指定返回几个唯一值。上面的例子中参数a有两个1,但是返回的3个值不会有2个1。

5、random.randrage()

看例子:

>>> random.randrange(1,3)
2
>>> random.randrange(1,3)
2
>>> random.randrange(1,3)
2
>>> random.randrange(1,3)
2
>>> random.randrange(1,3)
2

之前已经学过range这个函数,range(1,3)的范围包含1但不包含3。

6、下面看一个例子,随机生成一个5位编码,里面有数字、大写英语字母和小写英语字母。看例子:

>>> def code():
        code=''
        for i in range(5):
            num=random.randrange(10)
            Uc=chr(random.randrange(65,91))
            Dc=chr(random.randrange(97,123))
            fc=random.choice([num,Uc,Dc])
            code+=str(fc)
        return code

>>> import random
>>> code()
'81Ve2'
>>> code()
'1Sl37'
>>> code()
'1uwpj'
>>> code()
'oqBi5'
>>>

分析一下:

1)code是一个空白字符串;作为最终的5位随机字符串,里面可以有数字和大小写字母。

2)num是0到9任意一个数字。

3)Uc是任意一个大写字母。chr()函数,是把ascii中的一个数字转换为对应的符号,65-90对应A-Z;97-122对应a-z。

4)Dc是任意一个小写字母。

5)fc是在num、Uc和Dc三级随机字符中,再随机选取一个;这样每一位都可能是数字、大写字母或者小写字母。

6)把fc加入到code中。

转载于:https://www.cnblogs.com/tuobeiwoniu/p/8680757.html

进阶第十一课 Python模块之random相关推荐

  1. 进阶第四课 Python模块之os

    os模块,一起来看下都有哪些常用的方法,也就是有哪些函数或者功能. 首先了解一下os的组成 >>> import os >>> dir(os) ['DirEntry ...

  2. Python模块:Random(未完待续)

    本文基于Python 3.6.5的官文random编写. random模块简介 random为各种数学分布算法(distributions)实现了伪随机数生成器. 对于整数,是从一个范围中均匀选择(u ...

  3. python模块之random模块

    random模块 用于生成随机数 常用方法 >>> import random #随机小数 >>> random.random() # 大于0且小于1之间的小数 0 ...

  4. 入门第十一课 Python语句的嵌套

    1.说个小故事:话说一个人买到一个治疗瘙痒的偏方,在拆开无数层的包装后,得到的只是一张写着"挠挠"的小纸条儿. 嵌套,类似于在一个语句中,嵌套另一个语句.举个栗子-_-!! 我们要 ...

  5. python random模块中的指令_10分钟让你掌握python编程中random模块功能使用,非常详细...

    原标题:10分钟让你掌握python编程中random模块功能使用,非常详细 python作为一门高级编程语言,它的定位是优雅.明确和简单.阅读Python编写的代码感觉像在阅读英语一样,这让使用者可 ...

  6. Python入门(二十一)- 常见模块

    二十一.常见模块 上一章介绍了Python模块的相关知识,在实际开发中,Python的很多功能都已经有了成熟的第三方实现,一般不需要开发者"重复造轮子",当开发者需要完成某种功能时 ...

  7. python模块调用的用法_如何使用Python语言中的random模块调用方法

    Python语言中的random模块,包含了很多方法属性,可以直接调用这些方法和设置属性.根据不同的方法展示不同的内容.下面利用几个实例查看random模块中的方法,操作如下: 工具/原料 Pytho ...

  8. Python中的random模块

    Python中的random模块用于随机数生成,对几个random模块中的函数进行简单介绍.如下: random.random() 用于生成一个0到1的随机浮点数.如: import random r ...

  9. python模块初始与time、datetime及random

    模块初始 模块的概念(本质为一个py文件) python模块可以将代码量较大的程序分割成多个有组织的.彼此独立但又能互相交互的代码片段,这些自我包含的有组织 的代码段就是模块,模块在物理形式上表现为以 ...

最新文章

  1. 关于Linux下进程创建的相关知识
  2. Linux下覆盖目录的方法
  3. 【转】Mac下安装和配置Redis
  4. 在 Linux 命令行中使用 tcpdump 抓包
  5. CopyOnWriteArrayList简介
  6. Android UI开发第三十篇——使用Fragment构建灵活的桌面
  7. [深度应用]·实战掌握Dlib人脸识别开发教程
  8. python画一片树叶_python画一片绿叶给你
  9. array_multisort - 如何保持键值,不重置键值,键名保持不变
  10. UVALive 5903 Piece it together(二分图匹配)
  11. 微信小程序UI组件、开发框架、实用库...
  12. 转:敏捷方式scrum 方案
  13. lucene使用与优化
  14. 银河麒麟服务器无raid驱动安装处理
  15. linux英英词典项目,五大主流英英词典(ESL)比较使用测评报告
  16. 未来教育计算机二级答案,未来教育计算机二级操作题答案.docx
  17. 【Magick++透明图层合并】
  18. python 操作excel排序_python操作excel[转]
  19. hive 学习系列三(表格的创建create-table)
  20. 怎样把PDF图片旋转90度

热门文章

  1. 对CSS选择器的理解
  2. 关于spark structed stream 流中的触发trigger间隔的理解
  3. 这个机器人不学数据集,“纯玩”get各类家务技能,LeCun觉得很赞
  4. java Exception 处理汇总
  5. 【转】 Android常用实例—Alert Dialog的使用
  6. POJ 1065 Wooden Sticks(LIS,最少链划分)
  7. js(javascript)中__proto__和prototype解析
  8. BSM:左手业务,右手IT
  9. ubuntu8.04 升级到8.10后,apache2 不能用的解决办法
  10. 8月8日白暨豚宣告灭绝