Python常用模块part1

常用模块part1一、内置方法1、abs 绝对值函数2、round 四舍五入3、sum 求和4、max 获取一个序列最大值5、min 获取一个序列最小值6、计算某个数值的x次方7、产生指定范围数据的可迭代对象8、bin 将十进制转换为二进制9、oct 将十进制转为八进制10、hex 将十进制转为十六进制11、chr 将ascii编码转换为字符12、ord 将字符转换为ascii编码13、eval 将字符串当作python代码执行14、exec 将字符串当作python代码执行(功能更强大
摘要由CSDN通过智能技术生成

常用模块part1

一、内置方法

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)

运行结果:
运行结果

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值