zoukankan      html  css  js  c++  java
  • 函数的作用域

    1.是访问变量时查找变量名的范围

    * 变量名查找规则: 
    在访问变量时,先查找本地变量,然后是包裹此函数外部的函数内的变量,之后是全局变量 
    最后是內建作用域内的变量 

    即: L –> E —> G —> B 
    ** 在默认情况下,变量名赋值会在当前作用域内创建变量和修改变量

    v = 100  # 全局作用域
    def fun1():
        v = 200  # 外部嵌套函数作用域
        print('fun1.v=', v)
    
        def fun2():
            v = 300  # 局部作用域
            print('fun2.v=', v)
            print(max)  # max函数都没有创建,在内建函数作用域中,只读,不能改变
                        # 可以在其余三个作用域重新创建。
        fun2()
    fun1()
    print("全局变量.v=", v)
    print(max)

    2.示例2

    name = 'alex'
    def foo():
        name = 'lhf'
        def bar():
            name = 'wupeiqi'
            def tt():
                print(name)
            return  tt
        return bar
     func = foo()#逐步调用函数,这里调用后的结果是bar()
     tt = func()#这个步骤是调用bar() 返回tt
     print(tt)
     tt()#调用tt()函数
    #foo()()()#合并上面几个步骤
    

      

    3.示例3

    name = 'alex'
    def foo():
        name = 'linhaifeng'
        def bar():
            name = 'wupeiqi'
            print(name)
        return bar
    a = foo()
    print(a)
    a() #bar()

  • 相关阅读:
    SOLD原则
    整理了自我感觉比较好的链接分享
    编程中所使用的23中模式
    第十周 吉林市一日游
    第十周 psp
    词频统计
    第九周 psp
    第八周PSP
    正确评估SQL数据库性能,你必须知道的原理和方法!
    MongoDB套路
  • 原文地址:https://www.cnblogs.com/renzhiqiang/p/10900663.html
Copyright © 2011-2022 走看看