python标准库学习-random

想想这么多年,也是没有好好梳理一下自己的知识体系,以至于总是会有书到用时方恨少的遗憾。

最近既然有学习的动力,干脆就趁着这份工作不是特别忙的机会,写一点东西吧,也理理自己的逻辑思维能力。

 

python有哪些库?

这个问题呢可以参照http://blog.csdn.net/python_wangjunji/article/details/8689297这篇博文来看。

当然咯,首先要先推荐一个可厉害的学习程序:Dash。学编程必备查询库,各种语言,专治“我要看源码病”。

那第一篇呢,我就先选关于数学方面的库来写了。第一个库就选random,以后每个库,就看random到哪个写哪个了,也是相当任性。

用random来产生这样一个序列的源码呢如下:

#生成序列

import urllib2
from bs4 import BeautifulSoup
import random

def getpylib():
  url='https://docs.python.org/3.7/py-modindex.html'
  mysource=urllib2.urlopen(url)
  soup=BeautifulSoup(mysource,'lxml')
  pythonlib=soup.find_all('code')
  pylib=[value.string for value in pythonlib]
  return pylib

 

#随机确定序列号

def randomlearn(mylib):
  value=random.choice(mylib)
  return value

 

#删除已看过序号

def removelearn(mylib,value):   

  try:       

    mylib.remove(value)   

   except Exception:       

    pass

 

#输出要看的模块

if __name__=='__main__':
  mylib=getpylib()
  mylearn=randomlearn(mylib)
  print mylearn
  removelearn(mylib,mylearn)

 

random库学习:

random.seed(a=None,version=2)

设置随机数种子

整数用:

random.randrange(start,stop[,step])

random.randint(a,b)

序列用:

random.choice(seq)      随机挑选一个元素

random.shuffle(x,[,random])  随机排序

random.sample(population,k)  随机挑选K个元素

浮点数:

均匀分布

random.random()    随机生成一个实数(0,1)

random.uniform(a,b)  随机生成一个实数(a,b)

符合统计分布:分布状态与数学原理参照统计学相关理论

random.betavariate(alpha,beta)  贝塔分布

random.expovariate(lambd)  指数分布

random.gammavariate(alpha,beta) 伽马分布

random.gauss(mu,sigma)  高斯分布

random.normalvariate(mu,sigma)  正态分布

 

random.SystemRandom(),这个与系统相关

random库在生成随机内容时非常有用。python采用的伪随机数算法是MersenneTwiste

 

下一篇内容:

  socket

 

posted @ 2017-04-04 19:26  dob  阅读(432)  评论(0编辑  收藏  举报