zoukankan      html  css  js  c++  java
  • python全栈开发_day11_作用域,函数嵌套和闭包

    一:作用域

      1)什么是作用域

        作用域是规定一个变量可以作用的范围,运行和销毁的范围

      2)作用域的分类

        1.内置作用域built_in:随着解释器的运行而产生,解释器运行的终止而销毁。

        2.全局作用域global:随着文件的打开运行而产生,随着文件的运行的终止而销毁。

        3.嵌套作用域enclosing:函数嵌套关系中,内部函数可以使用外部函数的变量。

        4.局部作用域local::函数自身的变量,作用于函数内部,随着函数的使用产生,函数使用的结束而销毁。

      3)嵌套作用域的运行

        

    def a():
        num=1
        def b():
            print(num)
        return b()
    
    print(a())
    
    #获得返回值:1 None
    #函数的嵌套就是在函数中定义另一个函数,这个函数可以使用外置函数的变量,遵从嵌套作用域的运行关系。

    二:闭包(重点重点重点)

      1)什么是闭包

        闭包实际上就是函数的嵌套,产生可以外部调用的内部函数。

      2)闭包的运用

        

    def a():
        num=1
        def b():
            print(num)
        return b
    
    c=a()
    c()
    
    #这是最简单闭包,外部调用内部函数。
    import requests
    
    def a(address):
        def b():
            print(requests.get(address).text)
        return b
    
    baidu=a("https://www.baidu.com")
    baidu()
    
    #如此定义一个函数关系,可以在后续的代码中更好更简单的获取网页数据

        

  • 相关阅读:
    Unity Find 使用规则
    Unity UGUI
    Unity UGUI
    Unity UGUI
    Unity UGUI
    机器学习:支持向量机识别手写英文字母 SMO算法实现二元分类器
    机器学习:朴素贝叶斯分类器实现二分类(伯努利型) 代码+项目实战
    机器学习:基于CART算法的决策树——分类树与回归树
    机器学习:决策树——分类树 ID3算法 代码+案例
    JAVA
  • 原文地址:https://www.cnblogs.com/xuxingping/p/10636435.html
Copyright © 2011-2022 走看看