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
当然还有很多常用的函数,我就简单的介绍以上函数
初学者的我写了这些函数,如有什么错误,请在评论区指教,谢谢!