Python之路day13内置函数

这两天写文章写得快吐了,写完信息安全的读书笔记然后又写一个软件使用教程,难受了。不过坚持住就好,继续奋斗吧。

来来总结一波:

今天学习了lambda匿名函数、一些重要的内置函数如:abs、sum、max、min、zip、sorted、filter、map

一般性重要的是:bytes、int、chr、ord、bin、oct、hex、repr、all、any等

01lambda函数

lambda函数又称为匿名函数,从语法上看它就是一个函数,而且功能还很简单。

1#语法:2func=lambada形参:结果34func1=lambdaa,b:a+b5func1(1,2)#3

但是Python为什么还要单独搞一个匿名函数呢?答案是自有其道理的。一般lambda是与其他匿名函数组合使用,起到超重要的作用。

例如:和sorted函数配合使用,使用lambda可以将其成员中的一部分作为排序依据。

1dic={"name":"13",hobby:,age:14}23#1.默认排序4print(sorted(dic))#[age,hobby,name]5#2.使用值作为排序依据,从小到大6sorted(dic,key=lambdaa:int(dic[a]),reverse=False)#[name,age,hobby]02内置函数

内置函数是Python中最重要的亮点之一,有些函数真的可以让你一行低十行。

.1重要函数

这是必须掌握的函数,一定要记住。

1.sum(iterable):求一个迭代对象的所有元素的和

2.max(iterable,key=lambdax:x)/min():求迭代对象中的元素的最大值或最小值

1#今天写的内置函数都是非常重要的23lis=[1,2,3,4,5]4dic={"name":"13",hobby:,age:14}#1.sum89print(sum(lis))#print(sum((1,2,3,4,5)))##2.maxmindefmax_test(x):15returnint(dic[x])16max(lis)#max(dic,key=lambdax:int(dic[x]))#hobby18max(dic,key=max_test)#hobby19#可以看出,key也同样可以用一个函数替代lambda,也说明lambda就是简单的函数

3.zip([iterable,…]):又称拉链函数,将几个可迭代对象中的数据打包成一个元组,这个功能太实用了。

4.sorted(iteable,key=,reverse=True/False):对里面的迭代对象进行排序,生成一个新的list列表对象,可以添加key控制排序依据。reverse=True则为从大到小,默认是False从小到大。

1#3.zip函数23lis1=[1,2,3]4lis2=(4,5,6)5lis3=(7,8,9)6zip(lis1,lis2,lis3)#4.sorted函数10dic={"name":"13",hobby:,age:14}11lis=[23,4,5,1,9,6]print(sorted(dic,key=lambdax:int(dic[x])))14print(sorted(lis,reverse=True))

5.filter()函数,相当于是列表推导式中的筛选模式。map()函数,相当于是列表推导式中的循环模式。

1#5.filter函数2lis=[23,4,5,1,9,6]3deffunc(x):4returnxf1=filter(lambdax:x6,lis)7print(list(f1))#[23,9]8print(list(filter(func,lis)))#[23,9]#6.map函数12f2=map(lambdax:x+2,lis)13print(list(f2))#[25,6,7,3,11,8].2常用函数

熟练掌握即可

1、int(x,base=6),将x转成base进制的数

2、divmod(x,y),返回x除以y的商和余数。

3、round(2.8,1),返回指定小数位数的浮点型

4、pow(base,index),幂指数

1#1、int2int(3.5)#3float转int型3int(,base=2)#4其他base进制字符串转整型45#2、divmod6divmod(9,2)#(4,1)78#3、round9round(3.14,1)#3.round(3.16,1)#3.#4、base13pow(2,4)#16

5、repr("python"),返回带有引号的字符串。

6、all(iterable),可迭代对象中全都是真则返回True。any(iterable),若有真就返回True

1#5、repr2print(repr("python"))#python#6、all、any6lis=[1,2,,True]7lis2=[1,2,,True]89all(lis)#True10all(lis2)#Falseany(lis)#True13any(lis2)#True

7、bytes(),将字符串指定编码方式进行编码,如不懂编码,可以看***

1#7、bytes23b1=bytes(name,encoding=utf8)4print(f"b1:{b1},type:{type(b1)}")5#b1:bpython,type:classbytes67print(bytes("西",encoding=gbk))#b\xce\xf78print(bytes("西",encoding=utf8))#b\xe8\xa5\xbf03闭包

闭包是什么?闭包是嵌套在函数中的函数,且对外层函数中的变量的引用。

1deffunc(age):2name=python3definner():4print(name)5print("内层函数inner被调用")6returninner7returninner89res=func(17)10print(res)11print(res())#functionfunc.locals.innerat0x7fbfe22f#python16#内层函数inner被调用17#inner

闭包可以避免函数中的一些非全局变量被销毁,可以直接在内层函数中使用。

我觉得闭包其实就是为了后面的装饰器打基础的。

last总结

今天的重点是掌握一些重要的内置函数以及lambada匿名函数的用法,还是多看多练多总结!

END



转载请注明地址:http://www.sanbaicaoasb.com/scry/8542.html
  • 上一篇文章:
  • 下一篇文章:
  • 热点文章

    • 没有热点文章

    推荐文章

    • 没有推荐文章