一、内置方法
1、abs 绝对值函数
intvar = -500
print(abs(intvar))
运行结果:
2、round 四舍五入
特点:奇进偶不进
floatvar1 = 3.51
floatvar2 = 3.5
floatvar3 = 4.5
print(round(floatvar1))
print(round(floatvar2))
print(round(floatvar3))
运行结果:
3、sum 求和
lst = [10,20,30,-15]
print(sum(lst))
运行结果:
4、max 获取一个序列最大值
lst = [10,20,30,-15]
print(max(lst))
运行结果:
判断最大年龄:
res=max(lst,key=lambda n : n[-1])
print(res)
运行结果:
5、min 获取一个序列最小值
lst = [21,34,96,42,18]
print(min(lst))
运行结果:
判断最小年龄:
res=min(lst,key=lambda n : n[-1])
print(res)
运行结果:
6、pow 计算某个数值的x次方
intvar = 5
res=pow(intvar,3)
print(res)
运行结果:
如果有第三个参数代表取第三个数的余数:
intvar = 5
res=pow(intvar,3,2)
print(res)
运行结果:
7、range 产生指定范围数据的可迭代对象
语法:range(start,end,step)
for i in range(1,10,2):
print(i)
运行结果:
8、bin 将十进制转换为二进制
print(bin(255))
运行结果:
9、oct 将十进制转为八进制
print(oct(255))
运行结果:
10、hex 将十进制转为十六进制
print(hex(255))
运行结果:
11、chr 将ascii编码转换为字符
print(chr(97))
运行结果:
12、ord 将字符转换为ascii编码
print(ord("a"))
运行结果:
13、eval 将字符串当作python代码执行
res = eval("lambda n : n*3")
print(res(2))
运行结果:
14、exec 将字符串当作python代码执行(功能更强大)
注:在与用户交互时,慎用
strvar="""
for i in range(10):
print(i)
"""
res = exec(strvar)
print(res)
运行结果:
15、repr 不转义输出字符串
print(repr("\n\t转义字符"))
运行结果:
16、input 接受输入字符串
name = input("您贵姓:")
print("我姓{}".format(name))
运行结果:
17、hash 生成哈希值
相同的两个数据经过哈希算法运算得出的结果一定相同
作用:
- 文件校验
- 密码加密
res1 = hash("abc")
res2 = hash("abc")
print(res1,res2)
运行结果:
二、数学模块
import math导入模块
1、ceil 向上取整操作
import math
res=math.ceil(-3.2)
print(res)
运行结果:
2、floor 向下取整操作
import math
res=math.floor(-3.2)
print(res)
运行结果:
3、pow 取一个数值的n次方
import math
res=math.pow(3,3)
print(res)
运行结果:
结果为小数,且没有第三个参数
4、sqrt 开平方运算
import math
res=math.sqrt(9)
print(res)
运行结果:
5、fabs 取一个数的绝对值
import math
res=math.fabs(-9)
print(res)
运行结果:
6、modf 将一个值拆分成整数和小数,并组成一个元组
import math
res=math.modf(9.15926)
print(res)
运行结果:
7、copysign 将第二个数的正负号拷贝给第一个
import math
res=math.copysign(12,-23)
print(res)
运行结果:
8、fsum 将容器内的数据求和运算
import math
lst = [1,3,5,7,9]
res=math.fsum(lst)
print(res)
运行结果:
9、pi 圆周率常数
import math
res=math.pi
print(res)
运行结果:
三、随机模块
import random 导入随机模块
1、random 获取0-1之间随机小数(左闭右开)
import random
res=random.random()
print(res)
运行结果:
2、randrange 获取指定范围内的随机整数
包含开始值,不包含结束值,间隔值
import random
res=random.randrange(1,10,2)
print(res)
运行结果:
3、randint 随机产生随机范围内的整数(了解)
import random
res=random.randint(1,10)
print(res)
运行结果:
4、uniform获取指定范围内的随机小数(左闭右开)
import random
res=random.uniform(1,10)
print(res)
运行结果:
5、choice 随机获取序列中的值(多选一)
import random
lst=["qwe","wzy","ugl"]
res=random.choice(lst)
print(res)
运行结果:
6、sample 随机获取序列中的值(多选多)
import random
lst=["qwe","wzy","ugl"]
res=random.sample(lst,2)
print(res)
运行结果:
7、shuffle 随机打乱原序列的值
注:直接打乱原序列
import random
lst=["qwe","wzy","ugl"]
random.shuffle(lst)
print(lst)
运行结果:
8、验证码
写一个验证码小程序:
import random
def func():
strvar = ""
for i in range(4):
res1 = str(random.randrange(10))
res2 = chr(random.randrange(97, 123))
res3 = chr(random.randrange(65, 91))
lst = [res1,res2,res3]
random.shuffle(lst)
res=random.choice(lst)
strvar += res
print(strvar)
func()
运行结果:
第一次:
第二次:
第三次:
四、序列化模块
1、把不能够直接存储的数据变得可存储,这个过程叫做序列化
把文件中的数据拿出来,回复成原来的数据类型,这个过程叫做反序列化
2、在文件中存储的数据只能是字符串 或者是 字节流,不能是其他数据类型
如果想要存储,需要序列化.
3、pickle模块可以序列化一切数据类型
1、dumps 把任意对象序列化成一个bytes
import pickle
import random
def func():
strvar = ""
for i in range(4):
res1 = str(random.randrange(10))
res2 = chr(random.randrange(97, 123))
res3 = chr(random.randrange(65, 91))
lst = [res1,res2,res3]
random.shuffle(lst)
res=random.choice(lst)
strvar += res
print(strvar)
file=pickle.dumps(func)
print(file)
运行结果:
如图,已将原函数序列化成一个字节流
2、 loads 把任意bytes反序列化成原来数据
import pickle
import random
def func():
strvar = ""
for i in range(4):
res1 = str(random.randrange(10))
res2 = chr(random.randrange(97, 123))
res3 = chr(random.randrange(65, 91))
lst = [res1,res2,res3]
random.shuffle(lst)
res=random.choice(lst)
strvar += res
print(strvar)
file=pickle.dumps(func)
print(file)
openfile=pickle.loads(file)
print(openfile)
openfile()
运行结果:
如图,将已序列化的字节流函数反序列化成原函数
3、dump 将对象序列化后写入到文件对象
import pickle
lst = [123,"sed","awk",(10,90)]
with open("/Users/atsukokoshi/Desktop/学习记录/ceshi.txt",mode="wb") as fp:
pickle.dump(lst,fp)
运行结果:
未报错,成功在文件中存储序列化后的字节流
4、load 把文件对象中的内容拿出来,反序列化成原数据
import pickle
lst = [123,"sed","awk",(10,90)]
with open("/Users/atsukokoshi/Desktop/学习记录/ceshi.txt",mode="rb") as fp:
res=pickle.load(fp)
print(res)
运行结果: