200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 笔记十八:python的内置函数有哪些尼?都怎么是使用尼?(map() reduce() filter() lambda()……)

笔记十八:python的内置函数有哪些尼?都怎么是使用尼?(map() reduce() filter() lambda()……)

时间:2021-01-22 09:27:32

相关推荐

笔记十八:python的内置函数有哪些尼?都怎么是使用尼?(map() reduce() filter() lambda()……)

python的内置函数有很多,你如果和我一样是个初学者,那么学会看这个函数怎么用,需不需要传入参数等问题非常必要,首先尼函数名先打出来,然后按着ctrl键再把鼠标移到函数名位置,发现函数名会变颜色(一般是深蓝色, 并且有小框显示,框里显示的一般也是这个函数的用法),然后按住ctrl不动点进去, 然后就会跳到python后台函数介绍。假如函数是int()如下图:

这个介绍就非常明了了(下面的英文直接翻译一下),将一个数字或字符串转换成整数,如果没有参数,则返回0,base是进制数,默认是十进制,所以尼这个函数你看完这个介绍就会用了,同样的道理,如果有任何的函数不会使用,那么就ctrl+点击函数名,然后就慢慢分析这个介绍,一般介绍完下面都有例子,也可以参考。

那么python常见的内置函数有哪些尼?

int() 把数字或者字符串装换为整形

str() 将对象转化为字符串

float() 将整数和字符串转换成浮点数

sum() 对传入的参数进行求和

len() 返回对象(字符、列表、元组等)长度或项目个数

list() 将元组转换为列表

range() 可创建一个整数列表,一般用在 for 循环中

……

还有一些内置函数,像map()、 reduce()、 lambda() 、isinstance()、filter()等函数,初学者的你可能不太了解,但是如果你熟练掌握这几个函数,用处会非常大并且非常方便和省代码,那么我就简单的介绍一下这几个函数“

首先是map函数:传入一个可迭代对象和一个方法函数名,然后,会把可迭代的对象里的数据一个一个遍历出来经过这个函数

功能,最后再返回一个可迭代对象。

def fun(x):return x*xlist1 = [1, 2, 3]map1 = map(fun, list1)print(map1)for m in map1:print(m)

结果如下:

<map object at 0x00000000021E7C18>149

然后是reduce()函数, 传入的也是一个可迭代对象,把里面的数据遍历出,一次传入两个参数,来经过一个函数,得到一个结果,然后这个结果再与下一个参数进行函数执行, 依次累积,最后得出的是一个结果。

from functools import reducedef fun(x, y):return x*ylist1 = [1, 2, 3]map1 = reduce(fun, list1)print(map1)

结果如下:

6

还有filter(),即过滤函数,传入一个函数,和可迭代对象,经过filter()函数,筛选出结果为真并未不为空的结果,返回一个可迭代对象。即如如下:

def result(x):return xlist4 = ['', 1, None, '你好', False, True, 0, 'hello', '0']list5 = list(filter(result, list4))print(list5)

结果如下:

[1, '你好', True, 'hello', '0']

接着是lambda()函数,即匿名函数,就是说没有名字的函数,用于简单的函数功能,不用另外的另写函数功能:

lambda 参数1, 参数2……:函数功能 下面是一些例子,以及和map、reduce、列表生成式的应用:

from functools import reduceadd = lambda x, y: x+yprint(add(1, 2))# 创建出一个列表,里面含有1到10的偶数list1 = [x for x in range(1, 11) if x % 2 == 0]print(list1)# 创建一个列表,里面放的是1-10的平方的数。list2 = list(map(lambda x: x**2, [x for x in range(1, 11)]))print(list2)# 计算1-10的数字的累加结果sum = reduce(lambda x, y: x+y, [x for x in range(1, 11)])print(sum)# 计算1-10里的偶数相加)list3 = reduce(lambda x, y: x+y, list(filter(lambda x: x, (map(lambda x: x if x % 2 == 0 else None, [x for x in range(1, 11)])))))print(list3)

结果如下:

3[2, 4, 6, 8, 10][1, 4, 9, 16, 25, 36, 49, 64, 81, 100]5530

最后还有一个是isinstance()函数,它和type()函数,都是判断某个对象是不是某个类型,但是区别是isinstance()可以判断某个子类是继承某个父类返回Ture,而type()对于这种继承是Flase:

class People(object):print('我是个人类')class XiaoMing(People):print('我是小明')result1 = isinstance(XiaoMing(), People)print(result1)result2 = type(XiaoMing()) == type(People())print(result2)

结果如下:

我是个人类我是小明TrueFalse

当然还有很多常用的函数,我就简单的介绍以上函数

初学者的我写了这些函数,如有什么错误,请在评论区指教,谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。