函数
add叫函数名,m,n是形参,return是函数返回值def add(m,n): total=m+n return total
函数的参数可否改变
可变传的是地址,不可变传的是数值a=1 def add(m): m=m+2 return m add(a)
a没有改变
- 在python中没有函数重载,函数名相同上面那个就失效了
关键字参数
(**)是任意关键字,没有是特定关键字,必须要有这个关键字def add(m,n,*args,**length): res=m+n for i in args: res=res+i print(res) print(length) kw={'age':'12'} add(1,2,4,5,**kw)
- 变量作用域
函数具有自己的作用域,函数访问变量先找自己的再找外面的。 全局变量
函数对全局变量只有访问没有编辑权限a=1 def func_out(): global a#没有global会重新声明一个a a=2 print(a) func_out() print(a)
输出结果是2,2
如果没有global,输出结果是2,1lambda函数有自己的作用域
def makeAction(): acts=[] for i in range(5): acts.append(lambda x,j=i:j**x)#j会拷贝i,不会共享 return acts fs=makeAction() print(fs[1](3)) 结果输出:1
内置函数(系统自带的函数)
map()
arr=[2,3,5,6,9] res01=map(lambda x:x*2+1,arr) print(list(res01)) 输出:[5, 7, 11, 13, 19]
reduce()
arr=[2,4,6] from functools import reduce res01=reduce(lambda x,y:str(x)+str(y),arr) print(res01) 输出:246
过滤
arr=['张三丰','张文','张震','王洋'] res=filter(lambda s:s[0]=='张'and len(s)==2,arr) print(list(res)) 输出:['张文', '张震']
sorted()排序
按id降序排列 sorted(students, key=lambda s: s['id'], reverse=True)
函数
最新推荐文章于 2023-03-10 14:31:11 发布