zoukankan      html  css  js  c++  java
  • 闭包的定义及使用

     1 """
     2   1.什么是闭包?
     3      闭包其实就是一个函数
     4   2.如何创建闭包?
     5      a.要有函数嵌套(外部函数,内部函数)
     6      b.内部函数中要使用外部函数的变量
     7      c.外部函数必须有一个返回值,返回内部函数名
     8   3.如何使用闭包?
     9      f = funOut(100) # 调用外部函数,用 f 变量指向内部函数
    10     result = f(200) # 通过变量调用函数
    11 """
    12  # 使用闭包,完成求两个数的和
    13  def sum(a,b):
    14      return a + b
    15  
    16  """
    17  定义闭包,满足三条件
    18  def funout(num1):
    19      def funIn(num2):
    20          return num2 + num1
    21      return funIn #返回一个函数,函数也是一个变量
    22 """
    23  def funout(num1):
    24      def funIn(num2):
    25          #内部函数修改外部函数的变量
    26          nonlocal num1 #修改外部函数变量加nolocal
    27          num1 += 100
    28          return num2 + num1
    29      return funIn #返回一个函数,函数也是一个变量
    30      
    31  f = funout(100) #此时f 和 funIn 均指向内部函数
    32  # 当前变量 f 指向函数
    33  print(type(f)) # <class 'function'>
    34  
    35  #当前变量 f 指向内部函数,可以通过 f 调用这个内部函数
    36  result = f(200)
    37  print('两个数的和:',result)
    1  <class 'function'>
    2  两个数的和: 400
    正是江南好风景
  • 相关阅读:
    阿里云配置学习
    华为机试练习代码
    微信公众号开发
    给div加滚动条
    Nolia 给CC添加过滤器
    算法理解
    Jquery常用功能
    day 2Linux软件从主机安装到服务器和安装JDK软件
    10月11 一些小的东西
    9月30 json工具类
  • 原文地址:https://www.cnblogs.com/monsterhy123/p/12900469.html
Copyright © 2011-2022 走看看