第五节:函数(待补充)

编程理论:
面向过程
面向对象
函数式编程

函数是编程:
高阶函数:
1、函数接受的参数是一个函数名
2、返回值中包含函数

map 函数处理序列的每个元素,得到的结果是一个“列表”,该列表的元素及位置与原一样
filter 遍历序列中的每个元素,判断每个元素得到一个布尔值,如果是True就留下来
reduce 处理一个序列,把序列进行合并操作
函数的尾递归调用优化
在函数的最后一步进入递归


lambda

map函数举例
filter函数举例

reduce函数举例

内置函数:
abs()取绝对值
all()测试所有元素是否都为True,否则False

all("0")测试结果为True

any()测试所有元素是否有一个是True,否则False
ascii
bin
bool()布尔运算
bytes
chr()

ord()十进制转换成8进制
dict()创建字典
dir
divmod()分页计算
enumerate
eval 1、提取字符串中的数据结构 2、执行字符串中的运算

a="{"cc":12}"  d = eval(a)  把字符串中的字典提取出来
float
frozenset
hash 1、不凡反推hash值 2、hash值固定长度
hex十进制转十六进制
oct十进制转八进制
id查看内存地址
isinstance判断数据类型是不是谁的对象
locals打印局部变量
globals打印全局变量

zip(("a","b","c")(1,2,3))拉链,传入的值是可迭代对象

max()结合zip使用可以 判断字典中的数值的大小

1、max函数处理的可迭代对象,相当于一个for循环,循环取出每个元素进行比较。不同类型不能比较

2、每个元素之间比较,是从每个元素的第一个位置依次比较,如果第一个位置分出大小。后面的都不需要比较了,直接得出两个元素的大小

people=[
{'name':'alex','age':1000},
{'name':'wupei','age':10000},
{'name':'yuanhao','age':9000},
{'name':'linhaifeng','age':18},
]

print(max(people,key=lambda dic:dic['age'] ))

执行结果:{'name': 'wupei', 'age': 10000}

min()同上

oct()十进制转八进制

pow()  pring(pow(3,3,2))   3**3 %2

reversed()反转列表的顺序  ,区别与方法reverse,注意

re = [1,2,3,4] 
print(list(reversed(re)))

round()四舍五入
slice() s1 = slice(3,5)切片
sorted()临时排序,用法类似max()
c=_import_(test)导入模块,用在模块名是字符串类型的时候

猜你喜欢

转载自www.cnblogs.com/sxdpython/p/12640189.html