python内置函数and匿名函数
一.内置函数
什什么是内置函数?
就是python给你提供的. 拿来直接⽤用的函数,
比如print., input等等. 截⽌止 到python版本3.6.2 python⼀一共提供了了68个内置函数.
他们就是python直接提供给我们的.
二.匿名函数
lamda匿匿名函数 为了了解决⼀一些简单的需求⽽而设计的⼀一句句话函数
语法: 函数名 = lambda 参数: 返回值
1 # 计算n的n次⽅方 2 def func(n): 3 return n**n 4 print(func(10)) 5 6 7 f = lambda n: n**n print(f(10)) 8 print(list(f))或者 9 for i in f 10 pirnt(i)
注意:
1. 函数的参数可以有多个. 多个参数之间⽤用逗号隔开
2. 匿匿名函数不管多复杂. 只能写⼀一⾏行行, 且逻辑结束后直接返回数据
3. 返回值和正常的函数⼀一样, 可以是任意数据类型
匿匿名函数并不是说⼀一定没有名字. 这⾥里里前⾯面的变量量就是⼀一个函数名. 说他是匿匿名原因是我们通 过__name__查看的时候是没有名字的. 统⼀一都叫lambda. 在调⽤用的时候没有什什么特别之处. 像正常的函数调⽤用即可
三.排序函数 sorted() 让自己定义排序的规则
语法: sorted(Iterable, key=None, reverse=False)
Iterable: 可迭代对象
key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每⼀一个元素传递给这个函 数的参数. 根据函数运算的结果进⾏行行排序
reverse: 是否是倒叙. True: 倒叙, False: 正序
1 lst = [11, 5, 36, 1, 27, 58] 2 3 s = sorted(lst) # 默认从小到大排序 4 print(s)
1 lst = ["胡一菲", "张伟", "关谷神奇", "曾小贤吕小布", "诺澜"] 2 def func(s): 3 return len(s) # 返回长度 4 5 # 执行流程: 6 # 把可迭代对象中的每一项拿出来, 作为参数传递给后面key函数. 7 # 函数返回数字, 根据数字进行排序 8 g = sorted(lst, key=func) 9 g = sorted(lst, key=lambda s: len(s)) 10 print(g)
四.筛选函数 filter()
语法: filter(function. Iterable)
function: ⽤用来筛选的函数. 在filter中会⾃自动的把iterable中的元素传递给function. 然后 根据function返回的True或者False来判断是否保留留此项数据
Iterable: 可迭代对象
1 lst = ['张无忌', '张翠山', '范冰冰', '金毛狮王', '李冰冰'] 2 3 # 过滤掉姓张的人 4 # 把可迭代对象打开 . 把内部元素一个一个的传递给前面的函数. 由这个函数决定此项是否保留 5 f = filter(lambda name: not name.startswith('张'), lst) 6 7 print('__iter__'in dir(f)) # 可迭代对象 8 for el in f: 9 print(el)
五.映射函数map()
语法: map(function, iterable) 可以对可迭代对象中的每⼀一个元素进⾏行行映射. 分别取执⾏行行 function
1 lst = ['篮球球', '打打台球', '爬荒山', '步'] 2 g = map(lambda s:'爱好:'+ s,lst) 3 print(list(g))