目录
一、函数
函数与方法的区别
二、 函数返回值
三、函数传参
四、lambda表达式
一、函数
函数与方法的区别
直接调用的是函数
通过对象点出来的是方法
print("hello")
a = [2, 1, 3] # 对象
a.sort()
print(a)
二、 函数返回值
# 返回值 def sum(*arr): min = 0 max = 0 total = 0 for i in arr: min = min if min < i else i max = max if max > i else i total += i return min, max, total res = sum(1, 4, 7, 9, 8, 3, 2) print(res) print(("--------------------------"))
# 递归求和1-100的和
def sum(n):
if n < 2:
return n
else:
return n + sum(n - 1)
print(sum(100))
三、函数传参
# 传参情况 # 1.位置传参 # 2.关键字传参 def add(a, b): return a+b print(add(1,2)) add(a=1, b=2) print(("--------------------------")) # 3.缺省传参 def res(a, b=3): print(a) print(b) res(1) res(1,2) print(("--------------------------")) # 1.可变传参-元组 def add (*a): print(a) print(type(a)) print(add(1, 2, 3)) print(("--------------------------")) # 2.可变传参-字典 def chen(**a): print(a) print(type(a)) chen(a=2,b=3,c=4)
四、lambda表达式
# lambda 表达式 相当于匿名函数,可以简化目前的函数
add =lambda a, b: a+b print(add(2, 1)) print(("--------------------------")) # 形式:lambda参数:执行操作、返回值[] {} () arr=[1,2,3,4,5] arr2 =map(lambda a:a*2,arr) print(arr2) for i in arr2: print(i) print(("--------------------------")) a=[1,2,3,4] b=[5,6,7,8] # # # 要求上面两个变量所对应的位置数字对应相加 (e1代表a列表里面的其中一个元素,e2代表b列表对应位置下的那个元素) c=map(lambda e1,e2:e1+e2,a,b) for i in c: print(i) print(("--------------------------")) d= filter(lambda e:e>5,b) for i in d : print(i) print(("--------------------------")) # 使用 lambda 对字典数据进行排序 persons = [ {"name": "张三", "age": 20}, {"name": "李四", "age": 17}, {"name": "王麻子", "age": 21} ] print(persons) # 按年龄进行排序 persons.sort(key=lambda p: p['age'],reverse=True) print(persons)