今日内容
-
匿名函数:一句话函数,比较简单的函数。
- 此函数不是没有名字,他有名字,他的名字就是你给其设置的变量。
- lambda是定义匿名函数的关键字,相当于函数的def。
- lambda后面直接加形参,形参加多少都可以,只要用逗号隔开就行了。
- 返回值在冒号之后设置,返回值和正常函数一样,可以是任意数据类型。
- 匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据。
def func(a,b): return a + b #构建匿名函数 func1 = lambda a,b:a+b print(fun(1,2))
接收一个可切片的数据,返回索引为0与2的对应的元素(元祖形成)。
func2 = lambda a:(a[0],a[2]) print(func([22,33,44,55]))#(22, 44)
写匿名函数:接收两个int参数,将较大的数据返回。
lambda a,b:a if a>b else b
-
内置函数
python 提供了68个内置函数。 eval 剥去字符串的外衣运算里面的代码,有返回值。 s1 = '1+3' print(s1) print(eval(s1)) s = '{"name":"alex"}' print(s,type(s)) print(eval(s)) exec 与eval几乎一样,代码流。 msg = ''' for i in range(10): print(i) ''' print(msg) exec(msg) callable 判断一个对象是否可被调用 print(callable(s1)) print(callable(func)) int #浮点数取整 print(int(3.6)) float#浮点数 print(type(3.6)) complex#转化一个字符串或数为复数 print(complex(1,2))#(1+2j) bin:将十进制转换成二进制返回。 print(bin(100)) oct:将十进制转化成八进制字符串返回。 print(oct(10)) hex:将十进制转化成十六进制字符串返回。 print(hex(10)) divmod 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元祖 print(divmod(10,3)) round 保留浮点数的小数位数 print(round(3.1415926,2))#3.14 pod:求x**y次幂。(三个参数为x**y的结果对z取余) print(pow(2,3)) print(pow(2,3,3))#2**3%3 bytes s1 = '太白' b = s1.encode('utf-8') print(b) b = bytes(s1,encoding='utf-8') print(b) ord:输入字符找到该字符编码的位置 ascii unicode print(ord('a')) print(ord('中'))#20013 Unicode chr:输入位置数字找出其对应的字符 print(chr(97)) print(chr(20013))#unicode repr:返回一个对象的string形式(原形毕露)。*** s1 = 'happe.豪' print(repr(s1))#'happe.豪' all:可迭代对象中,全是True才是True l1 = [1,2,'太白',True,[1,2,3],''] print(all(l1)) any:可迭代对象中,有一个True就是True l1 = ['',(),'太白'] print(any(l1)) abs()返回数字的绝对值 *** prinnt(abs(-6)) sum 对一个可迭代对象进行求和 l1 = [i for i in range(10)] print(sum(l1)) reversed 返回的是一个翻转的迭代器 *** l1 = [i for i in range(10)] l1.reverse()#列表方法 print(l1) l1 = [i for i in range(10)] obj = reversed(l1) print(list(obj)) zip 拉链方法 *** l1 = [1,2,3,4,5] tu1 = ('太白','b哥','德刚') s1 = 'abcd' obj = zip(l1,tu1,s1) print(list(obj)) min max l1 = [33,2,3,54,7,-1,-9] print(min(l1)) #以绝对值的方式取最小值 print(min(l1,key(lambda a:abs(a)))) 凡是可以加key的:它都自动的将可迭代对象中的每个元素按照顺序传入key对应的函数中,已返回值比较大小 dic = {'a': 3, 'b': 2, 'c': 1} print(min(dic,key=lambda a:dic[a])) sorted 排序函数 l1 = [22,33,1,2,8,7,6,5] l2 = sorted(l1) print(l2) filter 相当列表推导式的筛选模式 l1 = [2,3,4,5,6,7] ret = filter(lambda x:x>3,l1)#返回的是迭代器 print(list(ret)) reduce 对参数序列中元素进行累计