zoukankan      html  css  js  c++  java
  • 函数的嵌套及名称空间 作用域

    六.函数的嵌套
    1.在函数内又调用了其他函数
    def max2(x,y):  #两个值比较
        if x > y:
            return x
        else:
            return y
    res=(max2(1,3)
    print(res)
    
    def max3(x,y,z):   #三个值比较
        res1=max2(x,y)
        res2=max2(res1,z)
        return res2
    print(max3(11,99,2))
    
    2.函数的嵌套定义:在函数内又定义了其他函数
    def func1():
        print('from func1')
        def func2():
            print('from func2')
            print(func2)  #打印函数的内存地址
        func2()  #调用函数
    func1()        
    
    
    3.函数的层级嵌套 
    def f1():  
        print('f1')  #第一层结果
        def f2():
            print('f2')  #第二层结果
            def f3():
                print('f3')  #第三层结果
            f3()  #第三层调用
        f2()  #第二层调用
    f1()  #第一层调用
    
    
    七.函数的名称空间与作用域
    1.名称空间:namespaces:存放名字与值的绑定关系的地方
    2.名称空间分三类:
    2.1 内置的名称空间:存放Python解释器自带的名字,在解释器启动时就生效 解释器关闭则失效
    print int  都是Python内置的名称空间
    
    2.2 全局名称空间:文件级别的名字,在执行文件的时候生效,在文件结束或者文件执行期间被删除失效
    x=1  #全局变量 什么地方能引用
    def f1():
        def f2():
            print(x)
        f2()
    f1()
    
    2.3 局部名称空间:存放函数内定义的名字(函数的参数以及函数内的名字都存放与局部名称空间)
    函数调用时临时生效,函数结束则失效
    def f1():
        x=2  #局部变量
        print(x)
    f1()
  • 相关阅读:
    iOS网络编程--NSConnection的同步连接与异步连接
    NSThread基础使用
    多线程基础
    《软件工程》总结
    作业4(结对编程项目--四则运算)
    PSP记录个人项目耗时情况
    作业3
    作业二 流行的源程序版本管理软件和项目管理软件各自的优点缺点
    作业2
    作业
  • 原文地址:https://www.cnblogs.com/zhangcaiwang1/p/9694592.html
Copyright © 2011-2022 走看看