三元表达式,递归函数,匿名函数,内置函数

一.三元函数表达式

def max2(x,y):

      return x if x>y else y

print(max(10,12))

应用:1.条件成立返回一个值

         2.条件不成立返回一个值
def max2(x,y)

return x if x>y else y

print(max2(10,11))

二.函数递归:函数的递归调用,即在函数调用的过程中,又直接或间接地调用了函数本身

1️⃣直接调用

def foo()

     print('from foo')

     foo()

foo():递归死循环

2️⃣间接调用:
def bar()

     print('from bar')

     foo()

def foo()

     print('from foo')
     bar()

foo()

递归分为两个阶段

1.回溯:一定要在满足某种条件结束回溯,否则会无限递归

2.递推

总结:
1️⃣递归一定要有一个明确地结束条件

2️⃣每进入下一次递归,问题的规模都应该减少

3️⃣在python中没有尾递归优化

三.匿名函数
1️⃣匿名的目的就是没有名字,给匿名函数赋给一个名字是没有意义的

2️⃣匿名函数的参数规则,作用域关系与有名函数时一样的

3️⃣匿名函数的函数体通常应该是一个表达式,该表达式必须要有一个返回值

lambda匿名函数的应用:

#max,min,sorted

salaries={'egon':3000,

            'alex':1000000,

            'wupeiqi':10000,

            'yuanhao':2000

}

#求工资最高的那个人是谁

def  get(k):

      return salaries[k]

print(max(salaries,key=get))#'egon' 3000

for  k in salaries:
      print(k) #告诉max,比较的依据,k,salaries[k]

print(max(salaries,key=lambda x:salaries[x]))#'egon'  3000

#求工资最低的那个人是谁

#print(min(salaries,key=lambda x:salaries[x]))

把薪资字典,按照xi'ai

原文地址:https://www.cnblogs.com/shengg/p/8696332.html