# 0 引言 Python语言中有许多不是很常用的操作,在此进行逐一梳理。 # 1 lambda函数 ## 1.1 基本概念 lambda函数是一种匿名函数,即没有名字的函数 使用lambda保留字定义,函数名是返回结果 lambda函数的函数体只是一个表达式 lambda函数用于定义简单的、能够在一行内表示的函数 lambda表达式” : “后面,只能有一个表达式,def则可以有多个。 lambda一般用来定义简单的函数,而def可以定义复杂的函数 ## 1.2 使用方式 ### 1.2.1 基本使用 传入单个参数 ``` python3 >>> g = lambda x: 2 * x >>> g(2) 4 ``` 传入多个参数 ``` python3 >>> f = lambda x, y: x * y >>> f(3, 5) 15 ``` ### 1.2.2 配合使用 lambda由于可以定义函数表达式,因此经常与map reduce filter函数结合使用 与map函数配合使用 ``` python3 >>> arr = [1, 2, 3] >>> list(map(lambda x: 2*x, arr)) [2, 4, 6] ``` 与filter函数配合使用 ``` python3 >>> list(filter(lambda x: x%2 == 1, arr)) [1, 3] ``` 与reduce函数配合使用 reduce 函数已从 Python3 内置函数中删除并移到“functools”模块 ``` python3 >>> from functools import reduce >>> reduce(lambda x,y : x + y, arr) 6 ``` # 2 内置函数整理 ## 2.1 进制转换 bin() 将给的参数转换成二进制 hex() 将给的参数转换成十六进制 ``` python3 >>> bin(10) '0b1010' >>> hex(10) '0xa' ``` ## 2.2 基本运算 abs() 返回绝对值 divmode() 返回商和余数 round() 四舍五入 pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余 sum() 求和 min() 求最小值 max() 求最大值 ``` python3 print(abs(-2)) # 绝对值:2 print(divmod(20,3)) # 求商和余数:(6,2) print(round(4.50)) # 五舍六入:4 print(round(4.51)) #5 print(pow(10,2,3)) # 如果给了第三个参数. 表示最后取余:1 print(sum([1,2,3,4,5,6,7,8,9,10])) # 求和:55 print(min(5,3,9,12,7,2)) #求最小值:2 print(max(7,3,15,9,4,13)) #求最大值:15 ``` ## 2.3 ascii操作 ord('a') 获取字符的ascii码 chr(25) 获取ascii码对应的字符 ```python3 >>> ord('a') 97 >>> chr(97) 'a' ``` ## 2.4 迭代器生成器函数 涉及iter next yield函数 ### 2.4.1 iter iter() 函数用来生成迭代器。 iter(object[, sentinel]) - object -- 支持迭代的集合对象。 - sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。 ``` python3 object -- 支持迭代的集合对象。 sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。 ``` 最后编辑:2024年04月23日 ©著作权归作者所有 赞 0 分享
最新回复