一篇文章带你了解python标准库--random模块

作者:wakeyo_J 时间:2023-09-18 10:45:34 

1. random库基本介绍

Random库时使用随机数的python标准库

  • 伪随机数:采用梅森旋转算法生成的(伪)随机序列中的元素

  • Random库主要用于生成随机数

  • 使用random库:import random

2. random库概述

Random库包含两类函数,常用共8个

  • 基本随机函数:seed() random()

  • 扩展随机函数:randint() getrandbits() uniform()

  • randrange() choice() shuffle()

2.1 基本随机函数

  • 随机数种子

一篇文章带你了解python标准库--random模块

  • 基本随机函数

一篇文章带你了解python标准库--random模块

示例 1


>>> import random      #调用random模块
>>> random.seed(5)
>>> random.random()
0.6229016948897019
>>> random.random()
0.7417869892607294

示例 2


>>> import random
>>> random.seed(5)
>>> random.random()
0.6229016948897019
>>> random.seed(5)
>>> random.random()
0.6229016948897019

2.2 扩展随机函数

一篇文章带你了解python标准库--random模块

扩展随机函数

一篇文章带你了解python标准库--random模块

3. 随机数函数的使用

  • 能够利用随机数种子产生“确定“伪随机数

  • 能够产生随机整数

  • 能够对序列类型进行随机操作

4. 实例

1.用random.random()生成一个基于0.0<=x<=1.0之间的浮点数


>>> import random
>>> random.random()    #调用random()方法
0.594515103049593
>>>

2.用random.uniform(a,b)在指定范围获取随机数。返回一个随机浮点数N,若a<=b,则返回a<=N<=b;若a>=b,则返回b<=N<=a。


>>> random.uniform(1,8)   #在【1,8】范围内获取一个随机浮点数
2.9432430789720927
>>> random.uniform(9,6)
6.502188530262087
>>> random.uniform(-10,-1)
-1.6640665895566507
>>>

3.用random.triangular(low,high,mode)返回三角形分布的随机数。

返回一个随机的浮点数N,使得low<=N<=high,并且在这些边界指定mode。low和high默认为0和1。mode参数默认为边界之间的中点。若持续使用该方法,可以得到以mode为对称点的随机分布数据集。


>>> random.triangular()   #在默认情况下产生一个三角形分布随机数
0.764537932523999
>>> random.triangular(1,12)  #指定【low,high】范围参数
3.2879057952571604
>>> random.triangular(11,12,20)     #指定low、high、mode参数
11.832700021006795
>>> random.triangular(0,5,10)
6.032774679089732
>>>

4.用random.betavariate(alpha,beta)求Beta分布,参数的条件是α>0和β>0,返回值的范围介于0和1之间。


>>> random.betavariate(5,8)   #求Beta随机分布值
0.2348237132951728
>>>

标准库只要了解每个类的使用方法和参数的含义与使用,就能很快上手python的标准库,唯一的缺点就是你需要简单记忆一下1经常用到的方法,有点费脑。

来源:https://blog.csdn.net/m0_55697123/article/details/119427573

标签:python,random模块
0
投稿

猜你喜欢

  • Pycharm运行加载文本出现错误的解决方法

    2021-02-01 09:07:18
  • Django实现基于类的分页功能

    2022-04-06 21:49:03
  • SQLite数据库管理相关命令的使用介绍

    2024-01-27 12:41:00
  • 在线Ajax载入动画生成工具 - Loadinfo

    2008-02-18 13:34:00
  • 关于Python的一些学习总结

    2022-01-10 11:23:41
  • 解决MySQL去除密码登录告警的问题

    2024-01-26 12:33:21
  • mysql-8.0.15-winx64 解压版安装教程及退出的三种方式

    2024-01-23 21:56:20
  • Golang中的错误处理深入分析

    2024-02-18 20:59:46
  • uwsgi+nginx部署Django项目操作示例

    2021-05-04 02:23:50
  • textarea的输入限制统计代码statInput

    2008-05-22 13:36:00
  • MySQL 那些常见的错误设计规范,你都知道吗

    2024-01-25 18:19:36
  • pyinstaller封装exe的操作

    2021-02-12 03:21:16
  • python如何获取文件当前位置和定位某个位置

    2022-01-10 17:40:36
  • lodash内部方法getData和setData实例解析

    2024-04-19 09:43:12
  • Python 如何在字符串中插入变量

    2023-02-16 11:06:27
  • django queryset相加和筛选教程

    2022-09-10 11:04:43
  • 手把手教你如何安装Pycharm(详细图文教程)

    2023-10-31 06:57:00
  • 微信小程序中target和currentTarget的区别小结

    2024-04-10 16:17:30
  • Pandas中的unique()和nunique()区别详解

    2022-02-06 21:51:05
  • SQL Server复制功能 巧妙选择避开Bug

    2011-01-04 17:03:00
  • asp之家 网络编程 m.aspxhome.com