Python基础(六)—函数式编程(内部函数、闭包、lambda、filter/map/reduce/sorce、偏函数)

偏函数(Partial Function) 假设有一个处理图片的函数,它接受多个参数,如图片路径、尺寸、格式等。在某些情况下,若只想改变其中的一部分参数,而保持其他参数不变。这时,可以使用偏函数来预设那些不变的参数。在这些案例中,偏函数的主要作用是简化函数调用,通过预设一些常用参数,使得在特定场景下调用函数更加便捷。当使用某个API时,经常需要传入一些固定的参数,而只有少数参数需要动态改变。偏函数可以帮助创建具有预设配置的函数,使代码更易于管理和理解。在Python中,functools.partial 是一个用于创建偏函数的工具。 阅读详情

内部函数

Python中函数的作用域由def关键字界定,函数内的代码访问变量的方式是从其所在层级由内向外,若往外直至全局作用域都查找不到的话代码会抛异常。

主要看以下代码的差别~~

  """
  def f1():
      x = 5
      def f2():
          x *= x
          return x
      return f2
  """

  def f1():
      x = [5]
      def f2():
          x[0] *= x[0]
          return x[0]
      return f2()

  print(f1())

  def f1():
      x = [5]
      def f2():
          x[0] *= x[0]
          return x[0]
      return f2

  print(f1()())

  def f1():
      x = 5
      def f2():
          nonlocal x
          x *= x
          return x
      return f2
  print(f1()())

闭包 closure

  • 闭包的一些定义

    • 闭包的定义:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)。

    • python中闭包的定义:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure)

    • 闭包函数的必要条件:

      • 闭包函数必须返回一个函数对象
      • 闭包函数返回的那个函数必须引用外部变量(一般不能是全局变量),而返回的那个函数内部不一定要return
      • 闭包函数引用的外部变量不一定就是其父函数的参数,也可以是父函数作用域内的任意变量

      下面三个例子为常见的闭包

        # NO.1
        def line_conf(a, b):
            def line(x):
                return a * x + b
    
            return line
    
    
        # NO.2
        def line_conf():
            a = 1
            b = 2
    
            def line(x):
                print(a * x + b)
    
            return line
    
    
        # NO.3
        def _line_(a, b):
            def line_c(c):
                def line(x):
                    return a * (x ** 2) + b * x + c
    
                return line
    
            return line_c
    
    
  • 为何称作闭包
    按照命令式语言的规则,ExFunc函数只是返回了内嵌函数InsFunc的地址,在执行InsFunc函数时将会由于在其作用域内找不到sum变量而出 错。而在函数式语言中,当内嵌函数体内引用到体外的变量时,将会把定义时涉及到的引用环境和函数体打包成一个整体(闭包)返回。
    以下列子:

      def line_conf(a):
        b=1
        def line(x):
            return a * x + b
        return line
    
      line_A = line_conf(2)
      b=20
      print(line_A(1))  # 3
    
    • line_A对象作为line_conf返回的闭包对象,它引用了line_conf下的变量b=1,在print时,全局作用域下定义了新的b变量指向20,最终结果仍然引用的line_conf内的b。这是因为,闭包作为对象被返回时,它的引用变量就已经确定(已经保存在它的__closure__属性中),不会再被修改。
    • 即闭包函数被当作变量返回时,它的所有变量就已经固定,形成了一个封闭的对象,这个对象包含了其引用的所有外部、内部变量和表达式。当然,闭包的参数例外。
  • 显式查看闭包
    __closure__属性返回的是一个元组对象,包含了闭包引用的外部变量。
    根据NO.1,可以使用一些代码查看闭包信息:

      L = line_conf()
      print(line_conf().__closure__) #(<cell at 0x05BE3530: int object at 0x1DA2D1D0>,
      for i in line_conf().__closure__: 
          print(i.cell_contents)  # 打印引用的外部变量值,为1, 2
    
  • 闭包的作用
    闭包最主要的作用是提高代码的可复用性,根据NO.1,输出两条直线:

      #定义两条直线
      line_A = line_conf(2, 1) #y=2x+b
      line_B = line_conf(3, 2) #y=3x+2
    
      #打印x对应y的值
      print(line_A(1)) #3
      print(line_B(1)) #5
    
      # 不使用闭包的代码
      def line_A(x):
          return 2*x+1
      def line_B(x):
          return 3*x+2
    
      print(line_A(1)) #3
      print(line_B(1)) #5
    

    两条直线看不出区别,当需要定义几十几百条,闭包优势就出来了。

  • 闭包的实际运用

    • 例子1:

        def who(name):
            def do(what):
                print(name, 'say:', what)
      
            return do
      
        lucy = who('lucy')
        john = who('john')
      
        lucy('i want drink!')
        lucy('i want eat !')
        lucy('i want play !')
        
        john('i want play basketball')
        john('i want to sleep with U,do U?')
      
        lucy("you just like a fool, but i got you!")
      

匿名函数 lambda

  • 特性
    使用lambda可以精简代码、不需要考虑重名函数、可读性,lambda argument_list: expression,特性如下:
    • lambda函数是匿名的:所谓匿名函数,通俗地说就是没有名字的函数。lambda函数没有名字;
    • lambda函数有输入和输出:输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值
    • lambda函数一般功能简单:单行expression决定了lambda函数不可能完成复杂的逻辑,只能完成非常简单的功能。(不支持if else等逻辑判断)
  • 示例:
    • lambda x, y: xy;函数输入是x和y,输出是它们的积xy
    • lambda:None;函数没有输入参数,输出是None
    • lambda *args: sum(args); 输入是任意个数的参数,输出是它们的和(隐性要求是输入参数必须能够进行加法运算)
    • lambda **kwargs: 1;输入是任意键值对参数,输出是1

映射map/reduce

  • map
    • 功能: 求一个序列或者多个序列进行函数映射之后的值,就该想到map这个函数,它是python自带的函数,在python3.*之后返回的是迭代器,同filter,需要进行列表转换
    • 调用: map(function,iterable1,iterable2),function中的参数值不一定是一个x,也可以是x和y,甚至多个;后面的iterable表示需要参与function运算中的参数值,有几个参数值就传入几个iterable
    • 实例:
      x = [1,2,3,4,5]
      y = [2,3,4,5,6]
      list(map(lambda x,y:(x*y)+2,x,y))
      # 输出:
      [4, 8, 14, 22, 32]
    
  • reduce
    从python 3 开始移到了 functools 模块
    • reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f 必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值。
    • reduce()还可以接收第3个可选参数,作为计算的初始值
def f(x, y):
    return x + y

reduce(f, [1, 3, 5, 7, 9])  # 25

reduce(f, [1, 3, 5, 7, 9], 100)  # 125,计算初始值和第一个元素:f(100, 1),结果为101

过滤器 filter

  • 功能: filter的功能是过滤掉序列中不符合函数条件的元素,当序列中要删减的元素可以用某些函数描述时,就应该想起filter函数。

  • 调用: filter(function,sequence),function可以是匿名函数或者自定义函数,它会对后面的sequence序列的每个元素判定是否符合函数条件,返回TRUE或者FALSE,从而只留下TRUE的元素;sequence可以是列表、元组或者字符串

  • 实例:

      x = [1,2,3,4,5]
      list(filter(lambda x:x%2==0,x)) # 找出偶数。python3.*之后filter函数返回的不再是列表而是迭代器,所以需要用list转换。
      # 输出:
      [2, 4]
    

sorted、sort

  • 基本
    前面也说有高阶函数:map/reduce、filter。sorted()也是一个高阶函数。用sorted()排序的关键在于实现一个映射函数。
  • 默认是升序排序,可用:reverse=True 实现倒叙排序。
  • 默认情况下,对字符串排序,是按照ASCII的大小比较的,由于’Z’ < ‘a’,结果,大写字母Z会排在小写字母a的前面。可用:key=str.lower 忽略首字母的大小写。
  • sorted和sort
    • sort方法是列表类型list的内置方法,使用sort方法对list排序会修改list本身,不会返回新的list,sort方法只能用于列表,不能对字典、元祖等其他可迭代对象进行排序。
      list.sort( key=None, reverse=False)
    • sorted() 函数能对所有可迭代的对象进行排序操作,sorted()函数不会改变原来的对象,而是会返回一个新的已经排序好的对象。
      sorted(iterable, key=None, reverse=False)
  • 排序与lambda
    lambda可用实现字典key或者是value的排序,又或者是JSON格式的排序。样例如代码:
list = [2, 5, -4, 11, 7]
print(list.sort())
print(list)
print(sorted(list, reverse=True))

dict = {'a':2,'E':3,'f':8,'d':4}
print(sorted(dict))
print(sorted(dict, reverse=True))
print(sorted(dict, reverse=True, key=str.lower))
print(sorted(dict.items(), key=lambda x : x[1]))

array = [{"age":20,"name":"a"},{"age":25,"name":"b"},{"age":10,"name":"c"}]
array = sorted(array,key=lambda x:x["age"], reverse=False)
print(array)

偏函数

functools模块提供有wrap与偏函数,可以设定参数的默认值,降低函数的调用难度。

例如,我们有个需求,需要将二进制转为int,那应该是:

int(‘100000101’, base=2) # 261

每次转换都这样,比较麻烦,于是写了函数int2

def int2(num, base=2):
  return int(num, base)

使用functools.partial就是帮助创建一个这样的偏函数,不用自己定义int2()

import functools

int2 = functools.partial(int, base=2)
int2('101010110')


创建偏函数时,实际上可以接受 函数对象、*args、**kw 这三个参数,以上例子实际上固定了int()函数的关键参数base,也就是:
int2(‘101010110’)
相当于:
kw = {‘base’, 2}
int(‘101010110’, **kw)
当传入:
max2 = functools.partial(max, 10)
实际上会将10作为 *args 的一部分自动加到左边,也就是:
max2(4, 9) 相当于: max2(10, 4, 9)
偏函数用于固定住原函数的部分参数,使得调用更简单。

个人博客:Loak 正 - 关注人工智能及互联网的个人博客
文章地址:Python基础(六)—函数式编程(内部函数、闭包、lambda、filter/map/reduce/sorce、偏函数)

python eval 转换k m到乘法计算 原数据 lambda函数处理 我之前写了各种if substr函数,各种报错 正确到热泪盈眶的函数 data['Followers/Fans'] = data['Followers/Fans'].str.replace('k|K','*1000').str.replace('m|M','*1000000').fillna('0') data['Followers/Fans'] = data['Followers/Fans'].apply(eval) 报错函数 # def trans(x): # 阅读详情

相关推荐

Python函数专题:偏函数

偏函数是指通过固定一个或多个参数,来创建一个新的函数。这个新的函数可以接收未被固定的参数。偏函数的构建可以帮助简化函数的调用,尤其在需要多次调用同一个函数但参数部分相同时。偏函数在Python中提供了一种强大的工具,帮助我们简化函数调用及参数管理。它不仅提高了代码的可读性和可维护性,还有助于减少重复代码。在实际应用中,偏函数可以广泛用于回调函数、配置参数、数据处理等场景。当然,我们在使用偏函数时也要注意适度,避免因过度嵌套而导致代码可读性下降。通过合理使用偏函数,我们可以更好地组织代码,并提升开发效率。

weixin_71228606的博客 1025

提高代码质量——偏函数(带案例讲解)

文章结构什么是偏函数怎么使用偏函数场景1判断变量类型场景2动态生成一个标签为什么要用偏函数复杂场景感受一下偏函数的好处 什么是偏函数 偏函数是函数柯里化的其中一种表现,固化之前函数的一部分参数,将其设置为默认值, 然后返回一个新的函数。 怎么使用偏函数 我们需要将原本函数中的的一部分参数设置成默认值。使用一个函数返回一个函数,并将这个默认值作为return出来的函数的函数体内容被使用。当我们下次调用这个外层函数时,给这个默认值赋值。 场景1判断变量类型 // 以前我们要实现一个函数用来判断变量的类型是不

浪头的博客 747

零基础小白 Python这样学就对啦!——07篇

0基础学Python系列----------函数进阶篇

2301_78106697的博客 516

[scala]偏函数 | 模式匹配 | 样例类 | 隐式转换 | scala和java的关系、函数式编程 | java面向对象编程

scala中的模式匹配类似于java中的swich语法,但是更加强大。模式匹配语法中,采用match关键字声明。每个分支采用case关键字进行声明。当需要匹配时,会从第一个case分支开始,如果匹配成功,那么执行对应的逻辑代码。如果匹配不成功,则继续执行下一个分支进行判断。当所有的case都不匹配,那么会执行case _分支,类似于java中的default语句。当把范围大的数据类型转化给范围小的数据类型时,必须要进行强制类型转换,否则会报错。隐式转换可以让这种情况自动进行类型转换。

胖胖的博客 754

内联函数online的定义和作用

说明: 内联函数是一个小型函数,以牺牲空间来节省函数调用带来的额外开销,一般用以比较小函数或者使用频率很高的函数,函数内部内部没有复杂的语句,如开关语句switch,循环语句for等 定义: (1)在 C++ 中,可以在定义函数时,在返回值类型前面加上 inline 关键字 inline int max() { ...... return 0; } (二)直接在类的内部进行函数的声明和定义,则默认其是内联函数 class A { public: int max() { ...... ret

qq_44667165的博客 4227

使用DeepSeek、MCP和AKShare实现智能金融问答系统技术方案

DeepSeek是由深度求索公司开发的大规模语言模型,最新版本DeepSeek-V3采用混合专家(MoE)架构,拥有671B参数,激活37B参数,在多项基准测试中表现优异3。要使用DeepSeek的API服务:访问DeepSeek平台注册账号获取API Key(形如AKShare是基于Python的金融数据接口库,提供股票、基金、期货、宏观经济等领域的海量数据。主要特点包括:免费开源,数据源丰富支持多种数据格式(DataFrame/JSON)持续更新维护安装命令。

Kin 3174

Python中的偏函数

偏函数(Partial function)是Python的functools模块提供的一个很有用的功能。 简单总结functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。 举个例子,int()函数可以把字符串转换为整数,当仅传入字符串时,int()函数默认按十进制转换: >>> int('12345') 12345 但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做N进制

python学习者的博客 3028

5分钟搞定微服务架构图:手把手教你用Draw.io画出专业级设计

本文详细介绍了如何使用Draw.io快速绘制专业级微服务架构图。通过5分钟入门教程,掌握核心组件拖拽、连接线优化等技巧,提升系统设计可视化效率。特别适合需要快速呈现分布式系统架构的开发团队,利用内置微服务元素和分层展示功能,轻松创建清晰易懂的技术文档。

pz890123的博客 1245

python的装饰器偏函数闭包_Python基础(六)—函数式编程(内部函数、闭包、lambda、filter/map/reduce/sorce、偏函数)...

内部函数Python中函数的作用域由def关键字界定,函数内的代码访问变量的方式是从其所在层级由内向外,若往外直至全局作用域都查找不到的话代码会抛异常。主要看以下代码的差别~~"""def f1():x = 5def f2():x *= xreturn xreturn f2"""def f1():x = [5]def f2():x[0] *= x[0]return x[0]return f2()p...

weixin_39774044的博客 104

《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》论文阅读笔记

文章名:《BiLSTM with Multi-Polarity Orthogonal Attention for Implicit Sentiment Analysis》 作者Jiyao Wei a,1, Jian Liaoa,1, Zhenfei Yanga, Suge Wanga,b,∗, Qiang Zhaoa 年份 2019 1 Introduction 目前文本情感分析多分析带...

weixin_39036944的博客 1631

STM32开发工具链选型:MDK、CubeIDE、VSCode与IAR深度对比

嵌入式开发工具链是连接软件逻辑与硬件行为的核心枢纽,其选择直接影响代码可靠性、调试效率与量产稳定性。从编译器优化能力、调试协议支持(如ARM CoreSight、SWO)、硬件抽象层级(寄存器/LL/HAL)到跨平台构建能力,不同工具在实时性保障、静态分析合规性(如MISRA-C)、WCET可预测性及生态开放度上存在本质差异。尤其在STM32平台,Keil MDK凭借深度调试能力成为HardFault定位首选,STM32CubeIDE依托图形化配置加速外设初始化,而VSCode+PlatformIO则以LS

weixin_42602368的博客 429

9: 偏函数,高级函数,匿名函数,参数推断,闭包,柯里化,控制抽象

偏函数,高级函数,匿名函数,参数推断,闭包,柯里化,控制抽象

sowhat 1055

【上海大学计算机组成原理实验报告】六、内存系统实验

学习内存访问机制//理解代码和数据的分区存放原理和技术//手动方式把立即数`33H`写入内存`D1H`单元//手动方式把`D1H`单元的内容读出,再送入`ST`单元//在`CP226`汇编语言程序集成开发环境下编写程序//既然有`ORG`微指令,为什么集成开发环境下载到实验箱的目标程序的第一条执行语句最好存放在0号地址?//上海大学计算机组成原理实验//内存系统实验

HackerKevon的博客 3129

Python Lambda 闭包

在上面的例子中,lambda a,b,c: a+b+c 是一个 lambda 函数,其中 a,b,c 是参数,a+b+c 是一个表达式。我们使用 def 关键字在 Python 中定义常规函数,而 lambda 关键字用于定义 lambda 函数。如您所见,嵌套函数 innerFunc 访问了封闭函数 outerFunc 的非局部变量 txt。在学习闭包之前,你必须先了解Python的嵌套函数和非局部变量的概念。嵌套函数在另一个函数内部定义,并且可以访问封闭范围的变量。在此示例中,嵌套函数返回。

迹忆客 593

提升YOLOv8性能:用Swin Transformer替换Backbone的详细实现与分析【YOLOv8】

YOLOv8作为目标检测领域的最新版本,在速度和精度之间取得了良好的平衡。然而,随着计算机视觉任务的复杂性不断增加,YOLOv8的标准主干网络(Backbone)在处理高分辨率图像或多尺度目标时,可能存在一定的局限性。为了进一步提升YOLOv8的性能,我们可以引入Swin Transformer替换其主干网络,以增强模型的全局感知能力和多尺度特征提取能力。本文将详细介绍如何在YOLOv8中用Swin Transformer替换原有的Backbone,提供代码示例,并深入探讨其中的原理和效果。

博客 1717

灵境视界:基于云计算与深度学习的智能手语识别AR眼镜

灵境视界”不仅仅是一款AR眼镜,它代表了未来无障碍沟通设备的发展方向。随着云计算与深度学习技术的不断进步,未来我们将进一步优化识别算法,提升翻译精度,并扩展更多语言和手语类型,为全球听障人士提供更加全面的沟通解决方案。是一款融合了云计算与深度学习技术的增强现实(AR)眼镜,专为听障人士和手语使用者设计。这款眼镜不仅具备先进的AR显示功能,还能实时识别并翻译手语,打破听障人士与健听人士之间的沟通障碍,推动无障碍社会的建设。,让沟通无界,视界无限。

qq_62634009的博客 727

转载:Python--偏函数(Partial)

原始链接:Python--偏函数(Partial) - AndRew-A - 博客园 Python--偏函数(Partial) 出处 https://blog.youkuaiyun.com/Appleyk/article/details/77609114 一、什么是偏函数? (1)在Python的functools模块众多的功能中,其中有一个就是偏函数,我们称之为 partial function 模块的概念我们下一篇在细讲。 (2)我们都听过偏将军吧,在三国时代的官制中,系将军...

黄道婆的专栏 4271

【Unity实战】实现最完美最简单的UI适配方案,背景压缩或者拉伸变形解决方案,手机刘海屏适配,适配不同分辨率,不同尺寸,不同设备。

这期来讲一个简单的UI设计方案,很多同学可能搞不懂锚点、轴心这些概念,导致做好的UI在别人的设备上,乱跑或者是重叠,或者是参加游戏老发时间比较紧来不及做适配,都可以来试试这个方法,通过填充边框来保持游戏画面的原始比例,所以它的缺点也很明显,在一些移动设备上会浪费比较大的显示面积。 unity不同设备UI变形? UI在不同设备上如何适配?

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3655

偏函数学习理解

接下来,我们需要有一个原始函数,偏函数将会使用这个函数来创建一个新的函数。这是一个简单的函数,用于计算一个数的指定次幂。偏函数是一种编程技术,允许我们从现有函数中创建新函数,但固定其中一部分参数的值。这种部分应用函数的方法在函数式编程中很常见,它使得代码更加简洁、可读性更高,并且能够提高代码的复用性。

m0_75208155的博客 778

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python-偏函数

在Python中,偏函数(Partial Function)是一个用于固定某些参数值的新函数,返回一个新的函数对象,这个新的函数对象会忽略掉一些指定的位置参数(positional arguments)或关键字参数(keyword arguments)的默认值。偏函数的主要用途是当我们需要多次调用一个函数,并且每次调用都使用相同的某些参数值时,我们可以使用偏函数来简化这个调用过程。Python的functools模块提供了一个partial函数来创建偏函数。

sgdhshshhs的博客 1191

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Python lambda 与 闭包

Lambda高阶函数可以接收函数做参数,有些时候,我们不需要显式地定义函数,直接传入匿名函数更方便,也就是lambda。先来看个简单 lambda 函数>>> lambda x, y : x+y <function <lambda> at 0x102bc1c80>x 和 y 是函数的两个参数,冒号后面的表达式是函数的返回值,你能一眼看出这个函数就是是在求两个变量的和,但作为一个函数,这里我们暂且给这

Jitwxs 2739

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

(JavaScript)丢失的this(函数绑定)

丢失的 “this” 一旦方法被传递到与对象分开的某个地方———this就会丢失 let user = { firstName: "John", sayHi() { alert(`Hello, ${this.firstName}!`); } }; /* sayHi()是直接调用的,而不是通过对象来调用的,所以this的值丢失了 类似于 let f = user.sayHi; setTimeout(f, 1000); setTimeout(sayHi(){ //丢失了user的上下

AnitaSun的博客 514

Python “偏函数” 用法全方位解析

Python的functools模块中有一种函数叫“偏函数”,自从接触它以来,发现确实是一个很有用且简单的函数,相信你看完这篇文章,你也有相见恨晚的感觉。 我们都知道,函数入参可以设置默认值来简化函数调用,而偏函数的作用就是将入参进行默认填充,降低函数使用的难度。 如int()函数,可以将字符型转换为整型,且默认的都是以十进制形式来转换,那为什么一定是十进制呢?如果想用以二进制的形式转换呢?其实我们可以看一下int函数它本身的定义偏函数,一个让你相见恨晚的实用函数 可以看到int有两种用法,可以传一个位置参

weixin_47979914的博客 242

偏函数的介绍

偏函数的介绍

m0_74459049的博客 228

python lambda 闭包-python闭包

本文分为如下几个部分什么是闭包闭包与装饰器闭包等价——偏函数闭包等价——类闭包等价——其他闭包用于捕获状态值闭包等价——协程三种方法实现动态均值什么是闭包闭包是携带着一些自由变量的函数。我们直接来看一个例子def fun_out(a):def fun_in(b):return a + breturn fun_infun1 = fun_out(1)其中fun1函数是一个闭包,它携带着fun_out中...

weixin_39793708的博客 372
上一篇: Python基础(五)—函数(参数解析、global、递归)
下一篇: Python基础(七)—输入输出(open、os、pickle)
luoz_python
博客等级 码龄10年 57粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值