xml地图|网站地图|网站标签 [设为首页] [加入收藏]

匿名函数,day13内置函数

来源:http://www.ccidsi.com 作者:集成经验 人气:187 发布时间:2019-05-07
摘要:壹、 安慕希表明式 一 、长富表达式 仅使用于: 一、条件建立再次来到,二个值 二、条件不树立重临 ,一个值 def max2(x,y): #普通函数定义 if x y: return x else: return yres=max2(10,11)print(res)

壹、 安慕希表明式

一 、长富表达式

  仅使用于:

    一、条件建立再次来到,二个值

    二、条件不树立重临 ,一个值

def max2(x,y):    #普通函数定义
    if x > y:
        return x
    else:
        return y
res=max2(10,11)
print(res)
# res=x if x > y else y     #三元表达式
# print(res)

#def max2(x,y):       
    #return x if x > y else y          #代码简洁,方便
#print(max2(10,11)) 

本节内容

壹、长富表明式

1 def max2(x,y):
2     if x>y:
3         return x
4     else:
5         return y
6 res=max2(10,11)
7 print(res)

  安慕希表明式仅使用于:

   一、条件创设再次回到1个值

   2、条件不树立再次回到1个值

  res=x if x > y else y

  print(res)

1 def max2(x,y):
2     return x if x > y else y
3 print(max2(10,11))

二、 递归

一 、递归调用的概念

  递归调用是函数嵌套调用的壹种格外方式,函数在调用时,直接或直接调用了自个儿,正是递归调用

#直接调用
def foo():
    print('from foo')
    foo()
#foo()
#间接调用
def bar():
    print('from bar')
    foo()

def foo():
    print('from foo')
    bar()
#foo()

2、 递归分为七个阶段:递推,回溯

  1、回溯

  (注意:一定要在知足某种条件截至回溯,不然就能够Infiniti递归)

#图解。。。
# salary(5)=salary(4) 300

# salary(4)=salary(3) 300

# salary(3)=salary(2) 300

# salary(2)=salary(1) 300

# salary(1)=100
#
# salary(n)=salary(n-1) 300     n>1
# salary(1) =100                n=1

def salary(n):
    if n == 1:
        return 100
    return salary(n-1) 300

print(salary(5))

图片 1

三 、python中的递归功用低且未有尾递归优化

  总结递归的行使:

  一、 必须有三个无人不晓的终结条件

  二、 每一次进入更加深壹层递归时,难点规模比较上次递归都应具备削减

  3、 递归功效不高,递归等级次序过多会招致栈溢出(在计算机中,函数调用是经过栈(stack)那种数据结构达成的,每当进入三个函数调用,

栈就能够加壹层栈帧,每当函数重回,栈就能够减一层栈帧。由于栈的分寸不是最佳的,所以,递归调用的次数过多,会招致栈溢出

四 、可以修改递归最大深度

import sys
sys.getrecursionlimit()         #系统默认的可递归次数1000
sys.setrecursionlimit(2000)  #   调整可递归为2000
  1. 函数基本语法及特点

  2. 参数与局地变量

  3. 返回值

2、函数递归

3、 无名氏函数

壹 、什么是无名氏函数?

#匿名就是没有名字
def func(x,y,z=1):
    return x y z

#匿名
lambda x,y,z=1:x y z
 #与函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,除非让其有名字
func=lambda x,y,z=1:x y z 
func(1,2,3)
#让其有名字就没有意义

二、无名的特色:

  一、佚名的目标正是没盛名字,给佚名函数赋给三个名字是从未意思的

  二、无名函数的参数规则、功能域关系与著名函数是同等

  3、佚名函数的函数体平时应该是三个表明式,该表明式必供给有三个重临值

叁 、有名字的函数与佚名函数的对照

闻明函数:循环利用,保存了名字,通过名字就能够重新引用函数作用

无名氏函数:叁回性使用,随时随时定义 应用:max,min,sorted,map,filter

肆、匿名函数和松手模块的一些运用

#匿名函数格式
lambda x,y:x y     #这个值和后面条件可以不断地变化
info=[
        {'name':'egon','age':'18','salary':'3000'},
        {'name':'wxx','age':'28','salary':'1000'},
        {'name':'lxx','age':'38','salary':'2000'}
 ]
max(info,key=lambda dic:int(dic['salary']) )
#跟内置函数max的结合使用,可以轻松的获取我们想要的值

min(info,key=lambda dic:int(dic['salary']))
#还有min取最小
l=sorted(info,key=lambda dic:int(dic['salary']))
#以什么为依据重新排序
map(lambda x:x**2,[1,2,3,4])
#映射,把得到的新值映射到原来的位置
filter(lambda x:x > 2,[1,2,3,4]) 
#把符合条件的值取出来       

 

嵌套函数

概念:函数的递归调用,即在函数调用的进度中,又直接或间接地调用了函数自个儿

4.递归

一、直接调用

1 def foo():
2     print('from foo')
3     foo()
4 foo()

伍.佚名函数

贰、直接调用

1 def bar():
2     print('from bar')
3     foo()
4 
5 def foo():
6     print('from foo')
7     bar()
8 foo()

六.函数式编制程序介绍

递归分为四个级次

1、回溯:

  注意:一定要在满意某种条件回溯,不然Infiniti递归

2、递推

本文由68399皇家赌场发布于集成经验,转载请注明出处:匿名函数,day13内置函数

关键词: 68399皇家赌场 Python

上一篇:知识点总结系列,的用法与区别

下一篇:没有了

最火资讯