8-[函数]-嵌套函数,匿名函数,高阶函数,递归函数

1.嵌套函数

  (1)多层函数套用

name = "Alex"

def change_name():
    name = "Alex2"

    def change_name2():
        name = "Alex3"
        print("第3层打印", name)

    change_name2()  # 调用内层函数
    print("第2层打印", name)

change_name()
print("最外层打印", name)
第3层打印 Alex3
第2层打印 Alex2
最外层打印 Alex

  (2)return 函数2的内存地址

age = 18
def func1():
    age = 73
    def func2():
        print(‘---2‘)
    return func2

val = func1()
print(val)   # <function func1.<locals>.func2 at 0x024601E0>
val()
C:\Python34\python.exe C:/PycharmProjects/Luffy_project/21天入门/模块2/fun/fun3.py
<function func1.<locals>.func2 at 0x006201E0>
---2

2.匿名函数

  • 匿名函数就是不需要显式的指定函数名
  • 作用
    • 1.节省代码量
    • 2.装B

  (1)普通函数

def cal(x,y):
    print(x*y)

cal(3,5)

# 结果
15

  (2)带return的函数

def cal(x,y):
    return x*y

val = cal(3,5)
print(val)

  (3)匿名函数

func = lambda x,y :x*y  # 声明一个匿名函数
val = func(3,5)
print(val)

# 结果
15

  

  

  (4)匿名函数和三元运算搭配

def cal(x,y):
    if x> y:
        return x/y
    else:
        return x*y

val = cal(3,5)
print(val)

### 结果
15
# 匿名函数  三元运算

func = lambda x,y : x/y if x>y else x*y
val = func(5,6)
print(val)

  (5)匿名函数和map

  • 需求,list=[1,2,3,4,5,]
  • 变换成 list2 = [1,4,9,16,25]

  

  

  

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

3.三元运算符

4.map函数

4.高阶函数

变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

  只需满足以下任意一个条件,即是高阶函数

  • 接受一个或多个函数作为输入
  • return 返回另外一个函数

原文地址:https://www.cnblogs.com/venicid/p/8409924.html

时间: 2024-10-08 18:05:33

8-[函数]-嵌套函数,匿名函数,高阶函数,递归函数的相关文章

函数——基本语法,嵌套、匿名、高阶、递归函数

定义 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性 减小重复代码 使程序变的可扩展 易维护 函数参数 定义函数可以带参数,也可不带参数 形参:只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元.因此,形参只在函数内部有效.函数调用结束返回主调用函数则不能再使用该形参变量 实参:可以是常量.变量.表达式.函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参.因此应预先用赋值,输入等办

把函数当作参数传给高阶函数

#高阶函数应用1:把函数当作参数传给高阶函数 import timedef foo(): print('form the foo')def tmmer(func): start_time=time.time() func() stop_time=time.time() print('函数%s 运行时间是%s' %(func,stop_time-start_time))tmmer(foo) #总结:我们确实为函数foo增加了foo运行时间的功能,但是foo原来的执行方式是foo(),现在我们需要调

函数(作用域,匿名函数,函数式编程,高阶函数)

一.函数作用域 1.函数名表示的是内存地址 1 def test1(): 2 print('in the test1') 3 def test(): 4 print('in the test') 5 return test1 6 7 print(test()) 打印:in the test<function test1 at 0x000001E90E452EA0> 2.函数的作用域只跟函数声明时定义的作用域有关,跟函数的调用位置无任何关系 1 name = 'xiaopang' 2 def f

python函数(全局变量,局部变量,作用域,递归函数,高阶函数,匿名函数)

1.1函数 1.1.1什么是函数 函数就是程序实现模块化的基本单元,一般实现某一功能的集合.函数名:就相当于是程序代码集合的名称参数:就是函数运算时需要参与运算的值被称作为参数函数体:程序的某个功能,进行一系列的逻辑运算return 返回值:函数的返回值能表示函数的运行结果或运行状态. 1.1.2函数的作用 函数是组织好的,可重复使用的,用来实现单一,或者相关功能的代码. 函数能够提高应用的模块性,和代码的重复利用率 我们已近知道python提供了许多内置函数,比如print(),我们自已创建的

python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))

1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 函数式编程:是使用一系列函数去解决问题,函数式编程就是根据编程的范式来的出想要的结果,只要是输入时确定的,输出就是确定的. 1.2高阶函数 能把函数作为参数传入,这样的函数就称为高阶函数. 1.2.1函数即变量 以python的内置函数print()为列,调用该函数一下代码 >>> pri

Python 学习笔记 -- 内嵌函数、闭包、匿名函数、高阶函数map、高阶函数filter、高阶函数reduce

1 #------------------------------内嵌函数------------------------------ 2 #内嵌函数就是在函数内部定义函数 3 #实例一 4 print("#------------------------------内嵌函数------------------------------") 5 def funOutOne(): 6 x = 5 7 def funIn(): 8 x = 3 9 print("My funOutO

python学习笔记之函数总结--高阶函数以及装饰器

python学习笔记之函数总结--高阶函数以及装饰器 Python特点: 1.不是纯函数式编程(允许变量存在): 2.支持高阶函数(可以传入函数作为变量): 3.支持闭包(可以返回函数): 4.有限度的支持匿名函数: 高阶函数: 1.变量可以指向函数: 2.函数的参数可以接收变量: 3.一个函数可以接收另一个函数作为参数: 下面我将示例一些函数的写法以及使用,并说明python中函数的特性: 1.基本的高阶函数示例: #!/usr/bin/env python def func():      

函数式编程 &amp; Python中的高阶函数map reduce filter 和sorted

1. 函数式编程 1)概念 函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念.wiki 我们知道,对象是面向对象的第一型,那么函数式编程也是一样,函数是函数式编程的第一型.在面向对象编程中,我们把对象传来传去,那在函数式编程中,我们要做的是把函数传来传去,而这个,说成术语,我们把他叫做高阶函数.飞林沙 2)特点 计算视为视为函数而非指令 纯函数式编程:不需变量,无副作用,测试简单(每次的执行结果是一样的) 支持高阶函数,代码简洁 2. python支持

高阶函数:声明、实现(定义)与调用

高阶函数是以参量和返回值的形式引用其它函数的函数: 高阶函数是开放的和变化的. 相对于基本函数来说,高阶函数提供了可配置性.变化性.开放性. 声明: 高阶函数本身的声明,引用函数的声明: 为高阶函数和引用(参量.组件)函数提供上下文: 定义: 高阶函数本身的定义: 引用(组件)函数的调用: 调用: 引用(组件)函数的定义: 高阶函数的调用:组件函数的传输: 组件函数的定义和传输: 可以使用显示函数定义,然后作为参量传入: 也可以使用匿名(拉姆达表达式)的形式,将定义和参数化合一. 匿名函数提供组

JavaScript中的高阶函数

之前写的<JavaScript学习手册>,客户跟我说有些内容不适合初学者,让我删了,感觉挺可惜的,拿到这里和大家分享. JavaScript中的一切都是对象,这句话同样适用于函数.函数对象可以作为函数的参数. 一 函数对象作为另一个函数的参数 函数可以作为另外一个函数的参数,这里的"另外一个函数"可以返回具体的值,也可以返回一个函数.第二种情况就是函数的函数,称为高阶函数.在介绍这两种情况之前,先了解一下 call() 和 apply() 方法: call()  的使用方式