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

最新文章

  1. Laravel5.0学习--03 Artisan命令
  2. R之data.table速查手册
  3. kuangbin_MST B (POJ 1287)
  4. ssh配置文件说明
  5. 给 Xamarin.Form For Windows Phone APP 加个漂亮的 &quot;头&quot;
  6. js获取客户端操作系统
  7. sql查询重复记录并取对应最小值
  8. 从数组-&gt;ArrayList-&gt;List 为了方便与安全在不断变化着
  9. 搭建 MPICH3 并行计算环境
  10. mysql中 case when的使用
  11. linux进程,作业,守护进程,进程间同步
  12. Visual Studio 2010 单元测试--运行测试并查看代码覆盖率
  13. html元素被隐藏在后面
  14. Django项目之小博客
  15. volatile 与 synchronized 区别
  16. UiAutomator2.0 - Toast信息的验证
  17. Spring Boot(十二)单元测试JUnit
  18. CSS3 transform-origin 属性
  19. 怎么样加快JavaScript加载和执行效率
  20. MyBatis——MyEclipse中使用mybatis-generator

热门文章

  1. [P1329] 数列
  2. html css 其他常用 onclick跳转
  3. mongodb 语句和SQL语句对应(SQL to Aggregation Mapping Chart)
  4. 高手速成android开源项目【tool篇】
  5. 【Android】为需要支持API 11之前的Activity添加Action Bar的一种解决方案
  6. Java第三方支付接入案例(支付宝)
  7. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署
  8. Dockerfile指令详解
  9. 根域名服务器(root DNS Servers)会被DDoS打垮么?
  10. JavaWeb学习 (七)————HttpServletResponse对象(一)