【Python】Python进阶系列教程--random 模块(十九)

news/2024/11/28 23:37:56/

文章目录

  • 前言
  • random 模块方法

前言

往期回顾:

  • Python进阶系列教程-- Python3 正则表达式(一)
  • Python进阶系列教程-- Python3 CGI编程(二)
  • Python进阶系列教程-- Python3 MySQL - mysql-connector 驱动(三)
  • Python进阶系列教程-- Python3 MySQL 数据库连接 - PyMySQL 驱动
  • Python进阶系列教程-- Python3 网络编程(五)
  • Python进阶系列教程-- Python3 SMTP发送邮件(六)
  • Python进阶系列教程-- Python3 多线程(七)
  • Python进阶系列教程-- Python3 XML 解析(八)
  • Python进阶系列教程-- Python3 JSON 数据解析(九)
  • Python进阶系列教程-- Python3 日期和时间(十)
  • Python进阶系列教程-- 内置函数(十一)
  • Python进阶系列教程-- MongoDB(十二)
  • Python进阶系列教程-- urllib(十三)
  • Python进阶系列教程-- uWSGI 安装配置(十四)
  • Python进阶系列教程–pip(十五)
  • Python进阶系列教程–operator 模块(十六)
  • Python进阶系列教程–math 模块(十七)
  • Python进阶系列教程–requests 模块(十八)

Python random 模块主要用于生成随机数。

random 模块实现了各种分布的伪随机数生成器。

要使用 random 函数必须先导入:

import random
查看 random 模块中的内容:

实例

>>> import random
>>> dir(random)
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST', 'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', '_floor', '_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', '_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 'normalvariate', 'paretovariate', 'randbytes', 'randint', 'random', 'randrange', 'sample', 'seed', 'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']

接下来我们使用 random() 方法返回一个随机数,它在半开放区间 [0,1) 范围内,包含 0 但不包含 1。

实例

# 导入 random 包
import random# 生成随机数
print(random.random())

以上实例输出结果为:

0.4784904215869241

seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数。

实例

#!/usr/bin/python3
import randomrandom.seed()
print ("使用默认种子生成随机数:", random.random())
print ("使用默认种子生成随机数:", random.random())random.seed(10)
print ("使用整数 10 种子生成随机数:", random.random())
random.seed(10)
print ("使用整数 10 种子生成随机数:", random.random())random.seed("hello",2)
print ("使用字符串种子生成随机数:", random.random())

以上实例运行后输出结果为:

使用默认种子生成随机数: 0.7908102856355441
使用默认种子生成随机数: 0.81038961519195
使用整数 10 种子生成随机数: 0.5714025946899135
使用整数 10 种子生成随机数: 0.5714025946899135
使用字符串种子生成随机数: 0.3537754404730722

random 模块方法

random 模块方法如下:

方法描述
seed()初始化随机数生成器
getstate()返回捕获生成器当前内部状态的对象。
setstate()state 应该是从之前调用 getstate() 获得的,并且 setstate() 将生成器的内部状态恢复到 getstate() 被调用时的状态。
getrandbits(k)返回具有 k 个随机比特位的非负 Python 整数。 此方法随 MersenneTwister 生成器一起提供,其他一些生成器也可能将其作为 API 的可选部分提供。 在可能的情况下,getrandbits() 会启用 randrange() 来处理任意大的区间。
randrange()从 range(start, stop, step) 返回一个随机选择的元素。
randint(a, b)返回随机整数 N 满足 a <= N <= b。
choice(seq)从非空序列 seq 返回一个随机元素。 如果 seq 为空,则引发 IndexError。
choices(population, weights=None, *, cum_weights=None, k=1)从 population 中选择替换,返回大小为 k 的元素列表。 如果 population 为空,则引发 IndexError。
shuffle(x[, random])将序列 x 随机打乱位置。
sample(population, k, *, counts=None)返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。
random()返回 [0.0, 1.0) 范围内的下一个随机浮点数。
uniform()返回一个随机浮点数 N ,当 a <= b 时 a <= N <= b ,当 b < a 时 b <= N <= a 。
triangular(low, high, mode)返回一个随机浮点数 N ,使得 low <= N <= high 并在这些边界之间使用指定的 mode 。 low 和 high 边界默认为零和一。 mode 参数默认为边界之间的中点,给出对称分布。
betavariate(alpha, beta)Beta 分布。 参数的条件是 alpha > 0 和 beta > 0。 返回值的范围介于 0 和 1 之间。
expovariate(lambd)指数分布。 lambd 是 1.0 除以所需的平均值,它应该是非零的。
gammavariate()Gamma 分布( 不是伽马函数) 参数的条件是 alpha > 0 和 beta > 0。
gauss(mu, sigma)正态分布,也称高斯分布。 mu 为平均值,而 sigma 为标准差。 此函数要稍快于下面所定义的 normalvariate() 函数。
lognormvariate(mu, sigma)对数正态分布。 如果你采用这个分布的自然对数,你将得到一个正态分布,平均值为 mu 和标准差为 sigma 。 mu 可以是任何值,sigma 必须大于零。
normalvariate(mu, sigma)正态分布。 mu 是平均值,sigma 是标准差。
vonmisesvariate(mu, kappa)冯·米塞斯分布。 mu 是平均角度,以弧度表示,介于0和 2pi 之间,kappa 是浓度参数,必须大于或等于零。 如果 kappa 等于零,则该分布在 0 到 2pi 的范围内减小到均匀的随机角度。
paretovariate(alpha)帕累托分布。 alpha 是形状参数。
weibullvariate(alpha, beta)威布尔分布。 alpha 是比例参数,beta 是形状参数。

http://www.ppmy.cn/news/358072.html

相关文章

iPhone下播放在线音乐视频等问题

最近老板要求iPhone可以播放在线音乐和视频&#xff0c;本想和windows mobile下一样&#xff0c;扔一个地址就完全可以扔给IE来做了&#xff0c;可是发现这些iPhone下是行不通的。 1.iPhone对于视频和音乐的下载有限制&#xff0c;不像wm有文件系统&#xff0c;扔地址给IE后可…

iphone开发相关的网站

From: http://blog.sina.com.cn/s/blog_672b7fe50100inpb.html 首先声明一下&#xff0c;apple的官方文档是最重要的&#xff0c;一下网站只是本人学习过程中存在问题时&#xff0c;所寻找的相关帮助网页&#xff0c;有时间的话&#xff0c;对每一个网页写一些注释吧 sqllite…

Iphone中利用MPMoviePlayerController在线播放视频

Iphone中已经自定义好了视频播放类MPMoviePlayerController&#xff0c;我们只需调用既可&#xff0c;下面详细介绍一下调用手机播放器的例子&#xff1a; 首先创建一个视图工程PlayMoveViewDemo,然后声明其类型&#xff1a; #import <UIKit/UIKit.h> interface PlayMov…

一键卡iPhoneQQ在线

这个软件是我从其它论坛发现的&#xff0c;我开始使用这个软件的时间为&#xff1a;2013.03.10 &#xff01;截图如下&#xff1a; -------------------------------------------------------------------------------------------------------------------------------------…

iphone 音频播放(在线,流媒体,本地)

1。官方文档 http://www.apple.com.cn/developer/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AudioandVideoTechnologies/AudioandVideoTechnologies.html#//apple_ref/doc/uid/TP40007072-CH19-SW8 2。iPhone开发 &#xff0d; iOS后台播放音…

ios在线安装

<meta http-equiv"REFRESH" content"0;urlitms-services://?actiondownload-manifest&url /地址/ ">

在线html转ipa,iphone在线安装 ipa 应用:利用 itms-services 协议实现 iOS 应用程序在线安装功能...

越狱后的 iOS 可以实现像企业证书分发程序那样通过访问网页点击按钮一键安装APP。 先决条件: 已越狱(Jailbreak) 越狱后已安装 Appsync 步骤: 1. 在 html 页面加入类似如下链接内容(url中的 lxxh.plist 就是下面新建的 lxxh.plist 文件路径): 点此安装 2. 新建 lxxh.plist…

iPhone 手机官方查询网站

今天给大家分享一些苹果官方网站&#xff0c;一定要收藏起来&#xff0c;以备不时之需。例如激活查询、苹果服务器状态等等。 查看激活日期 当你新入手iPhone 或其他苹果设备&#xff0c;可以通过官方查看保障状态页面&#xff0c;在线查看激活日期&#xff0c;由此判断新设备…