zoukankan      html  css  js  c++  java
  • Day 10 函数的嵌套

    def func1():
        print("我是func1")
    
    def func2():
        print("我是func2")
        func1()
    
    def func3():
        func2()
        print("我是func3")
    func3()
    这样的代码不是嵌套. 互相调用
    函数可以互相嵌套
    def outer():
        def inner():
            print("我是内部")
        print("我是外部")
        inner()    #必须在这里调用
    
    outer()

    def outer():
        print("我是外面的")
        def inner_1():
            def inner_2():
                print("我是里面的2")
            inner_2()
            print("我是里面的1")
        inner_1()
        print("我是外面的收尾")
    
    outer()

    全局 global,这种改动是危险的

    a = 10
    def func():
        global a #表示在当前作用域中的使用的a是全局中的变量
        a = 20 # 所有的a都是外面的了
        print(a) # 现在只有看的权利
    
    print(a) # 10
    func() # 20
    print(a) # 20

    nonlocal 局部,在自己的圈子往上一层,如果没有,再往上面找

    def outer():
        a = 10
        def inner():
            nonlocal a # 找的是局部当中, 离他最近的上层的那个变量
            a = 20
            print(a)
        print(a) # 10
        inner() # 20
        print(a) # 20
    outer()

    a = 1
    def fun_1():
        a = 2
        def fun_2():
            nonlocal a
            a = 3
            def fun_3():
                a = 4
                print(a)
            print(a)
            fun_3()
            print(a)
        print(a)
        fun_2()
        print(a)
    print(a)
    fun_1()
    print(a)
    global 引入全局变量, 可以定义全局变量
    nonlocal 引入局部中离他最近的外层变量
    
    def func():
        global a # 没有也得有. 自动帮你创建
        a = 20
    
    func()
    print(a)
  • 相关阅读:
    适配器
    策略
    oom的各种情况
    sql 优化//TODO
    聚簇索引和非聚簇索引
    Shard内部原理
    es集群健康状态
    转载 R语言颜色基础设置
    三维数据的展示
    python 文件保存 出错
  • 原文地址:https://www.cnblogs.com/xiaomai-rhce/p/10403906.html
Copyright © 2011-2022 走看看