洗礼灵魂,修炼python(13)--模块random,math,pickle
random
1.作用:
random模块用于生成随机数
2.常用函数:

random:用于生成一个0到1的随机符点数: 0 <= n < 1.0
uniform(a, b):用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。

randint(a, b):用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b

randrange([start], stop[, step]):从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。
choice:从序列中获取一个随机元素。其函数原型为:random.choice(sequence)。参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。

shuffle(x[, random]):用于将一个列表中的元素打乱。

sample(sequence, k):从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。

math
1.作用:
math,即数学的意思,即里面的函数基本是处理数学运算的,前面其实也有提到,不过是并没有全部都说,只说了一个sqrt函数,在这里则把常用的都解析下
2.常用函数:

ceil(x):上移取项,给一个数字型数字,返回一个浮点型,如果本来为浮点型,则直接入一位

floor(x) :下移取底,返回一个浮点型,有小数则舍去

fabs(x):取绝对值,注意和内置函数abs区分

factorial (x):阶乘

hypot(x,y) :sqrt(x*x+y*y)

pow(x,y):x的y次方

sqrt(x):开平方

log(x):log函数

log10(x):底数为10的log函数

trunc(x) 截断取整数部分

isnan (x):判断是否NaN(not a number),不是个数字则返回True,否则返回False

sin,cos,tan分别代表高中数学里的三角函数,不再解析
degrees(x):弧度转角度
radians(x):角度转弧度

另外该模块定义了两个常量:
e = 2.718281828459045
pi = 3.141592653589793

pickle
1.作用:
存储数据。
如果有一些对象需要持久性存储,并且不丢失对象的类型与数据,则需要将对象进行序列化,序列化为二进制的这个过程叫腌制。需要使用的时候再恢复原来的数据,这个过程叫反腌制。
2.常用函数:

pickle腌制模块用得最多还是腌制+反腌制里带有的两个函数:
方法1:对文件操作
- dump(object, file)
- load(file) -> object
例:
import pickle
my_list=[12312,4454,",["hello"]]
pickle_file=open("my_list.pk1","wb") #文件存储必须使用二进制模式
pickle.dump(my_list,pickle_file)
pickle_file.close() #文件使用完必须close关闭,不然占内存,后果严重
pickle_file=open("my_list.pk1","rb")
my_list2=pickle.load(pickle_file)
print(my_list2)
得结果:
[12312, 4454, ', ['hello']]
方法2:对对象操作
- dumps(object) -> string
- loads(string) -> object
例:
import pickle list1=["A","B","c","d"] list2=pickle.dumps(list1) #dumps(obj,object,对象) 将对象序列化二进制 print (lsit2) list3=pickle.loads(list2) #loads(序列化之后的对象) 将对象原封不动恢复 print (list3)
得结果:
b'\x80\x03]q\x00(X\x01\x00\x00\x00Aq\x01X\x01\x00\x00\x00Bq\x02X\x01\x00\x00\x00cq\x03X\x01\x00\x00\x00dq\x04e.' ['A', 'B', 'c', 'd']
其实很简单,多操作几遍就会了,里面带有了对文件的操作,下一章详解文件操作模块os和os.path
洗礼灵魂,修炼python(13)--模块random,math,pickle的更多相关文章
- python 随机数模块 -- random
一.概述 这个模块实现的伪随机数生成器. 对于整数,从区间选取.对于序列,随机元素. 在实线的,有功能来计算均匀分布,正态分布(高斯) ,对数正态分布,负指数,γ和β分布.对于生成的角度分布,冯·米塞 ...
- python常用模块——random模块
参考博客:http://www.360doc.com/content/14/0430/11/16044571_373443266.shtml 今天突然想起python该怎么生成随机数?查了一下,贴出实 ...
- python shutil模块&random模块
shutil模块 import shutil shutil.copyfileobj(open("os_.py", "r"), open("os_2.p ...
- Python:time模块/random模块/os模块/sys模块
time 模块 #常用方法 1.time.sleep(secs) (线程)推迟指定的时间运行.单位为秒. 2.time.time() 获取当前时间戳 python中时间日期格式化符号: %y 两位数的 ...
- python之模块random,time,os,sys,序列化模块(json,pickle),collection
引入:什么是模块: 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类型. 1.使用python编写的代码(.py ...
- python 基本模块 random、os、sys
一.random模块 所有关于随机相关的内容都在random模块中 import random print(random.random()) # 0-1⼩数 print(random.uniform( ...
- python常用模块: random模块, time模块, sys模块, os模块, 序列化模块
一. random模块 import random # 任意小数 print(random.random()) # 0到1的任意小数 print(random.uniform(-10, 10)) # ...
- python 之模块random
随机形成字母和数字组成的五位字符码. [root@localhost python]# vim timee.py import random def coder(): code = '' for i ...
- python 随机模块random
- python序列化模块json和pickle
序列化相关 1. json 应用场景: json模块主要用于处理json格式的数据,可以将json格式的数据转化为python的字典,便于python处理,同时也可以将python的字典或列表等对象转 ...
随机推荐
- 【xsy1503】 fountain DP
题目大意:给你$D$个格子,有$n$个喷水器,每个喷水器有一个喷水距离$r_i$. 现在你需要在这$D$个格子中选择$n$个位置按照任意顺序安装这$n$个喷水器,需要满足$n$个喷水器互相喷不到对方. ...
- 高可用Hadoop平台-Hue In Hadoop
1.概述 前面一篇博客<高可用Hadoop平台-Ganglia安装部署>,为大家介绍了Ganglia在Hadoop中的集成,今天为大家介绍另一款工具——Hue,该工具功能比较丰富,下面是今 ...
- Spring Boot + Spring Cloud 构建微服务系统(四):容错机制和熔断(Hystrix)
雪崩效应 在微服务架构中,由于服务众多,通常会涉及多个服务层级的调用,而一旦基础服务发生故障,很可能会导致级联故障,进而造成整个系统不可用,这种现象被称为服务雪崩效应.服务雪崩效应是一种因“服务提供者 ...
- nginx禁止未绑定域名访问返回444
来源于:http://blog.csdn.net/qq435792305/article/details/8298244
- 数据库新秀 postgresql vs mongo 性能PK
前几天看了一篇文章<High Performance JSON PostgreSQL vs. MongoDB> 发布在Percona Live Europe 2017 作者是<Dom ...
- Python pandas学习总结
本来打算学习pandas模块,并写一个博客记录一下自己的学习,但是不知道怎么了,最近好像有点急功近利,就想把别人的东西复制过来,当心沉下来,自己自觉地将原本写满的pandas学习笔记删除了,这次打算写 ...
- Vim 多行剪切、复制和删除
剪切 快捷键方式: dd:剪切光标所处当前行 n + dd:剪切光标所在行及以下共 n 行 按 p 粘贴在光标所在行 命令行方式: 例如剪切1到10行,并粘贴在12行处: 1,10 m 12 复制 快 ...
- RPA流程自动化-Blueprism认证考试介绍
RPA流程自动化-Blueprism认证考试介绍 接触RPA有一段时间了,几种RPA相关工具也都试用过,BluePrism是RPA工具的一种,今天跟大家分享考Blueprism的一些经验. RPA(R ...
- C语言之链表的使用
C语言链表初学者都说很难,今天就来为大家讲讲链表 讲链表之前不得不介绍一下结构体,在链表学习之前大家都应该已经学了结构体,都知道结构体里面能有许多变量,每个变量可以当做这个结构体的属性,例如: str ...
- 解决默写浏览器中点击input输入框时,placeholder的值不消失的方法
html中,placeholder作为input的一个属性,起到了在输入框中占位并提示的作用. 但是有一些浏览器,如chrome,当鼠标点击输入框时,placeholder的值不消失,只有输入数据才消 ...