Python3 常用BIF( Built-in Functions)简介

1、isinstance(object,classinfo)用于判断传入参数的数据类型等

如果object是classinfo参数的实例,或者其(直接,间接或虚拟)子类的实例,则返回true。如果对象不是给定类型的对象,则函数总是返回false。如果classinfo是object类型的元组(或递归地,其他这样的元组),则返回true,如果对象是任何类型的实例。如果classinfo不是类型或元组的类型和这样的元组,则会引发TypeError异常。

def checktype(parameter):
    print("ok ") if isinstance(parameter,(int,float)) else print("error")

>>> checktype('222dddd')
error

>>> checktype(2)
ok

2、filter(function,iterable)

filter就是过滤器,iterable是一个序列表,用函数function将该序列进行过滤。符合function定义的标准的序列值将保留下。filter(function,iterable)中的function是函数名且不带括号。

例如:获取1-100以内的素数

def filter_prime(data):
    if 0 not in [data%i for i in range(2,data)]:
        return data

>>>list(filter(filter_prime,range(1,101)))
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

3、map(function,sequence[,sequence,...]

map函数主要是利用function对后面的序列进行对应的计算并返回相应的结果。map是按照矩阵的序列进行相应的计算;

 >>>list( map(lambda x,y:x+y, [1,2],[2,4]))
[3, 6]

 

list( map(lambda x:x**x, [1,2,3,4,5,6]))
[1, 4, 27, 256, 3125, 46656]

4、reduce(function, iterable, initializer=None)

reduce完成的是累积作用,在Python 3里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在fucntools模块里。使用的时候from functools import reduce。

function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。
第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。
from functools import reduce
>>> reduce(lambda x,y:x+y,[1,2,3,4])
10
>>> reduce(lambda x,y:x+y,[1,2,3,4],100)
110

你可能感兴趣的:(Python3 常用BIF( Built-in Functions)简介)