python匿名函数和内置函数
一、匿名函数
匿名函数定义lambda a,b,c:(x,y,z)
a、b、c相当于形参,多个形参之间用逗号隔开,多个形参不能用括号括起来
(x、y、z)相当于返回值,多个返回值之间用逗号隔开,多个返回值必须用括号括起来
直接定义lambda a,b,c:(x,y,z)会返回一个内存地址,相当于定义了一个常量数字1、或者字符串'a',在内存中加载后就会被释放,因此一般与其他函数如map、reduce、filter等一起使用,或者赋值给一个值再通过该值调用,例如 f=lambda x:x*2,print(f(3))
二、python一些内置函数
官网讲解地址https://docs.python.org/3/library/functions.html?highlight=built#ascii
编码:将显示的字符转换为计算机存储的字节
解码:将计算机存储的字节转换为显示的字符
一般来说,使用什么格式编码就应该使用什么格式解码,否则会出现乱码
abs(i) 求n的绝对值
all(可迭代对象) 如果可迭代对象每个元素都为True则返回True,可迭代对象为空也返回True
any(可迭代对象) 如果可迭代对象有元素为True则返回True,可迭代对象为空则返回False
ascii
bin(整数) 将整数转化为以0b开头的二进制数
bool(v) 如果v为空、none或0,返回False,否则返回True
bytes(str,encoding='编码') 将字符串转化为字节的形式
bytes(str,encoding='编码').decode('解码') 用何种格式编码就应该用何种格式解码
chr(i) 返回在ascii表中整数i代表的字符
ord(str) 返回在ascii表中字符串str代表的数字
dir(v) 某一个对象拥有的属性和方法
divmod(v1,v2) 返回(商,余数)
enumerate(可迭代对象,起始值) 返回一个枚举对象,对象的每一个元素为一个元组,包含一个计数器和可迭代对象的元素,
例如li=['a','g','f','e'],则list(enumerate(a,1))返回[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
eval(str)
1.将字符串中的数据结构提取出来,例如eval('[1,2,'a']')返回[1,2,'a']
2.将字符串中的数学运算计算出来,例如express='1+2*3-8/4',则eval(express)返回5
hash(v) hash运算,不可变数据类型可进行hash运算,可变数据类型不可进行hash运算
help(v) 返回拥有的方法的详细解释,dir只返回名字
bin(i)、oct(i) 、hex(i) 将十进制整数转换为二进制、八进制、十六进制
globals()、locals() 全局变量、本地变量的一些属性
max(可迭代对象)、min(可迭代对象) 求最大值最小值,相同数据类型的才能比较,比较时一位一位进行比较
max([2,'ab33'],[2,'ab5'])返回[2,'ab5'],people=[{'name':'Alice','age':18},{'name'='Jack','age':23}],要求年龄最大的人和姓名,则max(people,key=lambda dict:dict['age'])
sorted(可迭代对象) 由小到大排序,不同类型之间不能比较大小,用法类似max和min
zip(可迭代对象1,可迭代对象2) 将两个序列对应位置的值组成一个元组应,前后多余的值不处理
例如list(zip('12345','jaj'))返回[('1', 'j'), ('2', 'a'), ('3', 'j')],再例如d={'name':'Alice','age':18,'sex':'girl'} ,则tuple(zip(d.keys(),d.values()))返回(('name', 'Alice'), ('age', 18), ('sex', 'girl'))
pow(x,y[,z]) 返回x的y次方,有参数y表示x的y次方对z取余
reversed(可迭代对象) 反转,结果为一个迭代器
round(x[,n]) 对小数四舍五入,n表示精度
sum(可迭代对象) 求和
type(v) 查看变量的数据类型