python内置函数、数学模块、随机模块

文章目录

1、python的内置函数

total = 0
for i in lst:
total += i
print(total)

运行
运行

在这里插入图片描述

4 max 获取一个序列里边的最大值

5 min 获取一个序列里边的最小值

lst = (-100,1,2,3,4,34)
res = max(lst)
res = min(lst)
print(res)

 
 
运行
运行

在这里插入图片描述

#max / min 的高阶函数的使用方式,跟sorted用法一样。按照什么排序就返回什么

tup = (   ("赵万里",100)  , ("赵沈阳",101) , ("孟凡伟",99) )
def func(n):
    # print(n)
    # 按照年龄找到最小值元组
    return n[-1]

res = min(tup,key=func)
print(res)
res = max(tup,key=func)
print(res)

dic = { “赵万里”:100,“赵沈阳”:200,“孟凡伟”:-5000}
def func(n):
# 如果是字典,默认传递的是键
# print(dic[n])
return abs(dic[n])
res = min(dic,key=func)
res = max(dic,key=func)
print(res)

运行
运行

字典,默认传的是键。我们可以自定义返回字典的值,返回什么就按什么排序。平时我们自己设置高阶函数,也可以根据传的值来改写返回值
传什么,返回什么,取最大值,最小值,依赖传的值的比较。根据return返回值比较

在这里插入图片描述

绝对值最大的是孟凡伟
在这里插入图片描述

6 pow 计算某个数值的x次方

如果是三个参数,前两个运算的结果和第三个参数取余

print(pow(2,3))
print(pow(2,3,7))
print(pow(2,3,4))
print(pow(2,3,5))

 
 
运行
运行

在这里插入图片描述

7 range 产生指定范围数据的可迭代对象

#一个参数
for i in range(3): # 0 1 2
    print(i)

#二个参数
for i in range(3, 8): # 3 4 5 6 7
print(i)

#三个参数
#正向操作
for i in range(1,9,5): # 1 6 留头舍尾
print(i)

#逆向操作
for i in range(9,1,-3): # 9 6 3
print(i)

运行
运行

8 bin 将10进制数据转化为二进制

print(bin(8))   0b

 
 

9 oct 将10进制数据转化为八进制

print(oct(8))    0o

 
 

10 hex 将10进制数据转化为16进制

print(hex(16))  0x

 
 

二进制,八进制,十六进制表示的数,打印出来自动打印成十进制
在这里插入图片描述

11 chr 将ASCII编码转换为字符 就好比根据索引获取字符串

print(chr(65))

 
 
运行
运行

12 ord 将字符转换为ASCII编码,就相当于获取某个字符串的索引

print(ord("A"))

 
 
运行
运行

在这里插入图片描述

####eval和exec在和第三方用户交互时候,谨慎使用;

13 eval 将字符串当作python代码执行

strvar = "print(123)"
strvar = "int(15)"
print(strvar)
res = eval(strvar)
print(res,type(res))

 
 
运行
运行

在这里插入图片描述

#strvar = "a=3" error eval的局限性 不能创建变量
#eval(strvar)

 
 
运行
运行

在这里插入图片描述

14 exec 将字符串当作python代码执行(功能更强大)

慎用,当确定执行结果后再用

strvar = "a=3" 
exec(strvar)
print(a)

strvar = “”"
for i in range(10):
print(i)
“”"

exec(strvar)

到目前为止,创建变量有5种,a=1 a,b = 1,2 a=b=1 a=globals() a[‘b’]=3 exec(“a=3”)

在这里插入图片描述

15 repr 不转义字符输出字符串

strvar = "D:\nython32_gx\tay14"
res = repr(strvar)
print(res)

 
 
运行
运行

在这里插入图片描述

16 input 接受输入字符串

res = input("输入内容")
print(res , type(res))

#hash 生成哈希值
#文件校验
with open(“ceshi1.py”,mode=“r”,encoding=“utf-8”) as fp1, open(“ceshi2.py”,mode=“r”,encoding=“utf-8”) as fp2:
res1 = hash(fp1.read())
res2 = hash(fp2.read())
if res1 == res2:
print(“文件校验成功”)
else:
print(“文件校验失败”)

字符串类型数据hash,每次hash值不同。Number,元祖hash值是固定的
在这里插入图片描述

这种适合小文件,大文件会把内存撑爆

2、数学模块

import math

 
 
运行
运行

1 ceil() 向上取整操作

(对比内置round) ***  不管小数是多少,直接向上进位
res = math.ceil(3.01)
res = math.ceil(-3.45)
print(res)

 
 

在这里插入图片描述

2 floor() 向下取整操作

(对比内置round) ***
res = math.floor(3.99)
res = math.floor(-3.99)
print(res)

 
 

在这里插入图片描述

3 pow() 计算一个数值的N次方(结果为浮点数) (对比内置pow)

"""结果为浮点数,必须是两个参数"""
res = math.pow(2,3)
#res = math.pow(2,3,3) error
print(res)

 
 

4 sqrt() 开平方运算(结果浮点数)

res = math.sqrt(9)
print(res)

 
 

在这里插入图片描述

5 fabs() 计算一个数值的绝对值

 (结果浮点数) (对比内置abs)
res = math.fabs(-1)
print(res)

 
 

在这里插入图片描述

6 modf() 将一个数值拆分为整数和小数两部分组成元组

res = math.modf(3.897)
print(res)

 
 

在这里插入图片描述

7 copysign() 将参数第二个数值的正负号拷贝给第一个 (返回一个小数)

不用管第一个数的符号正负,直接将第二个数的符号赋给第一个数

res = math.copysign(-12,-9.1)
print(res)

 
 

在这里插入图片描述

8 fsum() 将一个容器数据中的数据进行求和运算 (结果浮点数)(对比内置sum)

lst = [1,2,3,4]
res = math.fsum(lst)
print(res)

 
 

在这里插入图片描述

9 圆周率常数 pi ***

计算圆得面积,周长等需要调用π,这个常量。只能通过math.pi来调出

print(math.pi)

 
 

在这里插入图片描述

3、 随机模块

import random

 
 
运行
运行

1 random()

获取随机0-1之间的小数(左闭右开) 0<=x<1

res = random.random()
print(res)

 
 

在这里插入图片描述

2 randrange() 随机获取指定范围内的整数(包含开始值,不包含结束值,间隔值) ***

#一个参数
res = random.randrange(3)
print(res) # 0 1 2 

 
 

在这里插入图片描述

#二个参数
res = random.randrange(3,6) # 3 4 5
print(res)

#三个参数
res = random.randrange(1,9,4) # 1 5
print(res)

res = random.randrange(7,3,-1) # 7 6 5 4
print(res)

3 randint() 随机产生指定范围内的随机整数 (了解) 头尾全包括

res = random.randint(1,3) # 1 2 3
#res = random.randint(3,5,1)  error   只能包含两个参数
print(res)

 
 

在这里插入图片描述
在这里插入图片描述

4 uniform()

获取指定范围内的随机小数(左闭右开)  网络里面用的较多 ***
res = random.uniform(0,2) # 0<= x < 2
print(res)
res = random.uniform(2,0)
print(res)

 
 

在这里插入图片描述
在这里插入图片描述

原码解析:

a = 2 , b = 0
return 2 + (0-2) * (0<=x<1)
x = 0 return 2 取到
x = 1 return 0 取不到
0 < x <= 2
return a + (b-a) * self.random()

 
 

5 choice()

随机获取序列中的值(多选一) 可用于字符串,列表,元祖**

lst = ["孙凯喜","王永飞","于朝志","须臾间","含税小"]
res = random.choice(lst)
print(res)

def mychoice(lst):
index_num = random.randrange(len(lst))
return lst[index_num]
print(mychoice(lst))

在这里插入图片描述

从字符串中随机选一个
在这里插入图片描述

6 lambda 改造

mychoice = lambda lst : lst[   random.randrange(len(lst))     ]
print(mychoice(lst))

 
 

在这里插入图片描述

在这里插入图片描述

7 sample()

随机获取序列中的值(多选多) [返回列表] **

tup = ("孙凯喜","王永飞","于朝志","须臾间","含税小")
res = random.sample(tup,3)   #可以控制随机选的个数
print(res)

 
 

在这里插入图片描述

8 shuffle() 随机打乱序列中的值(直接打乱原序列) 返回列表**

lst = ["孙凯喜","王永飞","于朝志","须臾间","含税小"]
random.shuffle(lst)    
print(lst)

 
 

在这里插入图片描述

在这里插入图片描述

只支持列表被打乱
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值