zoukankan      html  css  js  c++  java
  • 作用域,高阶函数

    global 全局作用域:

    • 函数内部不能直接修改外部变量

    a = 110                                                        #全局作用域

    def f1():                                                        #函数内部不能直接修改外部变量

      global a                                                         #应该声明全局变量
      print(a)
      a = a+1                                                 #修改 了全局变量 a=110。(得小心使用)
      return a+1

    nonlocal 局部作用域:

    a=110                                                              #   全局作用域 global
    def f6():
      a = 10                                                         # 闭包函数外的函数中 enclosing
      def ff6():
      ## global a                                                        # a=110
        nonlocal a                                                         # a=10
        a += 1                                                        # 局部作用域 local
        print(a)
        return a+1

      return ff6()

    高阶函数:

    • 能接收函数作为变量,或者返回值是函数(递归函数)

    求10的阶乘:递归------------>  返回函数本身

    def jiecheng(a):
      if a==1:
        return 1
    else:
      return jiecheng(a-1)*a

    >>> jiecheng(4)
    24

    >>> jiecheng(10)
    3628800

  • 相关阅读:
    【还是畅通工程 HDU
    【畅通工程 HDU
    【hdu 2544最短路】【Dijkstra算法模板题】
    【Isabella Message】 【SPOJ
    【统计难题】【HDU
    【I'm Telling the Truth】【HDU
    Arranging Your Team HDU
    JavaScript和jQuery改变标签内容
    JavaScript获取地址栏内容
    JavaScript遍历IP段内所有IP
  • 原文地址:https://www.cnblogs.com/tangpg/p/7992818.html
Copyright © 2011-2022 走看看