py内置函数

py函数分类:
1用户自定义函数--->>(前面文章已说了)
2内置函数--->>此篇重点

----------------------------------------------------------------------
python当中内置函数:

 参考菜鸟教程:https://www.runoob.com/python3/python3-built-in-functions.html

 

 内置函数见上!

下面介绍几个重要的内置函数:

filter() 函数
用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象
注:如果要转换为列表,可以使用 list() 来转换。 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。 例:
def is_odd(n):   return n % 2 == 1 tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) newlist = list(tmplist) print(newlist) 输出:[1, 3, 5, 7, 9] 例: 过滤出1~100中平方根是整数的数: import math def is_sqr(x):   return math.sqrt(x) % 1 == 0 tmplist = filter(is_sqr, range(1, 101)) newlist = list(tmplist) print(newlist) Map()函数
根据提供的函数对指定序列做映射 语法:map(function, iterable, ...) 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回新的列表
--->>新列表包含了每次 调用function 函数调用后的返回值
例:
def square(x) : # 计算平方数   return x ** 2map(square, [1,2,3,4,5]) # 计算列表各个元素的平方 [1, 4, 9, 16, 25] map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数 [1, 4, 9, 16, 25] map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]) [3, 7, 11, 15, 19]#提过了两个列表,对相同位置的列表数据进行相加 Reduce()函数 要先从functools模块内导入才能使用 From functools import reduce
例: Def add(x,y):   Return x
+y
Print(reduce(add,[
1,2,3,4,5,6,7,8,9]))#迭代,将序列内每个函数都依次传入到函数内,并返回结果(注意:reduce函数的返回结果就是一个值)
lambda匿名函数:
在Python语言中除了def语句用来定义函数之外,还可以使用匿名函数lambda,
它是一种生成函数对象的表达式形式。
匿名函数通常是创建了可以被调用的函数,返回了函数,但却并没有将这个函数命名
#如:一般函数:
def add(a,b):
    return (a+b)
print(1,1)

#如:lambda 函数:
f = lambda a,b:a+b  #地方
print(f(1,1))
#说明:其中的关键字lambda标识这是一个匿名函数,
#:冒号前面是函数的参数,后面就是方法或者判断条件,
# lambda不像一般函数,需要有return来返回值,否则返回None,而lambda本身就是返回值
 
py匿名函数作用:=========================================
lambda是一个表达式,而并非语句(可以出现在指定位置上)
lambda主体只是单个表达式,并而一个代码块(功能小,只是一个为简单函数所服务的表达式对象)
使用lambda的原因所在:lambda有起到速写函数的作用,可在使用的代码内写入lambda
在仅需要嵌入一小段可执行代码的情况 下,就可以带来更简洁的代码结构及高性能
实例:++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#如:lambda结合login:
login= lambda username,password:print("登录成功") if username == 'qika' and password == '123456' else print("登录失败")
# print(login("qika","123456"))

#如:lambda结合**kwargs动态参数使用:(对key-value排序,key所对应的value值)
data = lambda **kwargs:dict(sorted(kwargs.items(),key=lambda item:item[0]))
print(data(name="qika",age="18"))

 

 

posted on 2020-08-14 23:01  QiKa  阅读(264)  评论(0编辑  收藏  举报