zoukankan      html  css  js  c++  java
  • python3函数进阶

    1.命名空间和作用域
    命名空间
        加载
            内置命名空间
                python解释器自带的变量和函数
                开启python解释器自动加载内置命名空间
            全局命名空间
                    程序从头到尾的自定义变量和函数
                    从头到尾加载
            局部命名空间
                    函数内部的自定义变量和函数(内嵌函数)
                    当函数被调用时,创建该函数的局部命名空间,当函数执行结束时,回收命名空间
        取值
            顺序:局部命名空间——>全局命名空间——>内置命名空间
    作用域
        全局作用域
            包含:内置命名空间、全局命名空间
        局部作用域
            局部命名空间
        打印全局作用域的值:print(globals())
        打印当前作用域的值:print(locals())
        在函数内部,对全局变量进行修改(自加等),需要加在函数内部加 global关键字定义变量
            对应不可变数据类型局部可以查看全局,不可以修改全局
    2.嵌套函数和作用域链
    嵌套函数
        函数的调用
        函数的定义
    作用域链
        由内到外
    nonlocal
        用在嵌套函数中,修改他上一次的局部变量,只用在局部变量
        在内部函数中,修改外部函数的变量
    3.函数名的本质
        指向一个内存地址,可以看作是变量
        赋值,既被引用
        当函数的参数、返回值
        可以当容器类型(可变数据类型)的参数
    4.闭包
        定义:嵌套函数,并且内部函数调用,外部函数的变量,内部函数是闭包
        判断闭包函数的方法:打印函数名.__closure__,有cell
    def f1():
        a = 1
    
        def f2():
            print(a)
        return f2
    
    
    res = f1()
    res()
  • 相关阅读:
    Sublime Text前端开发环境配置
    CSS盒模型
    Angular-如何在Angular2中使用jQuery及其插件
    六:Angular 指令 (Directives)
    五:Angular 数据绑定 (Data Binding)
    四:Angular 元数据 (Metadata)
    三:Angular 模板 (Templates)
    二:Angular 组件 (Components)
    一:Angular 模块 (Modules)
    js获取浏览器内核
  • 原文地址:https://www.cnblogs.com/wt7018/p/10822727.html
Copyright © 2011-2022 走看看