洗礼灵魂,修炼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的字典或列表等对象转 ...
随机推荐
- C# DataGridview控件自动下拉到最后一行
有时候使用DataGridView难免会在最后插入一条数据,如果插入的数据超过滚动条显示的行数,那么默认情况下不会显示到最后一行.增加以下代码一直将滚动条拉倒最低. ;
- javascript的hashCode实现
hashCode = function(str){ var hash = 0; if (str.length == 0) return hash; for (i = 0; i < str.len ...
- Java并发编程之synchronized关键字
整理一下synchronized关键字相关的知识点. 在多线程并发编程中synchronized扮演着相当重要的角色,synchronized关键字是用来控制线程同步的,可以保证在同一个时刻,只有一个 ...
- Codeforces/TopCoder/ProjectEuler/CodeChef 散题笔记 (持续更新)
最近做到了一些有趣的散题,于是开个Blog记录一下吧… (如果有人想做这些题的话还是不要看题解吧…) 2017-03-16 PE 202 Laserbeam 题意:有一个正三角形的镜子屋,光线从$C$ ...
- 记一次IDEA编译器调优
前言: 我们知道,IDEA是用Java写的,那么他肯定也存在虚拟机的调优的问题,那么今天我们就对它进行开刀. 下面是默认参数 位置在:C:\Program Files\JetBrains\Intell ...
- IE8浏览器官方下载 包含Windows中繁英文各个版本
当你的Windows XP安裝IE8时提示"此安装不支持您的操作系统的当前语言",或者安装IE8,在语言包安装时报错,可以尝试使用先安装英文版本,再安装多国语言包的方式操作. 20 ...
- Redis基础认识及常用命令使用(一)--转载
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集 ...
- ASP.NET Identity系列教程(目录)转载
来源:http://www.cnblogs.com/r01cn/p/5179506.html 注:最近看到不少介绍微软ASP.NET Identity技术的文章,但感觉都不够完整深入,本人又恰好曾在A ...
- Ocelot中文文档-Configuration
配置 一个关于Ocelot配置例子在这里.配置有两个部分.一个数组类型的ReRoutes和一个全局配置.ReRoutes是个对象,告诉Ocelot怎么去处理一个上游请求.全局配置有点繁琐(is a h ...
- mysql游标中使用临时表
有时候需我们要组合几张表的数据,在存储过程中,经过比较复杂的运算获取结果直接输出给调用方,比如符合条件的几张表的某些字段的组合计算,mysql临时表可以解决这个问题. 所谓临时表:只有在当前连接情况下 ...