• 函数的作用域


    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()

  • 相关阅读:
    2015IBM上海的一道笔试题
    通过SQL进行远程访问
    TreeSet集合
    Linux学习(11-23)
    使用OpenSessionInViewFilter的注意事项
    css position 几种定位
    css jquery 实现轮播效果
    jquery Jsonp的使用
    struts2的分页标签
    Elipse clean后无法编译出class文件
  • 原文地址:https://www.cnblogs.com/renzhiqiang/p/10900663.html
Copyright © 2020-2023  润新知