zoukankan      html  css  js  c++  java
  • Py修行路 python基础 (九)作用域 函数嵌套 闭包

    名称空间与作用域

    变量,函数

    分成三种

    #内置名称空间  内置函数,

             系统函数内部自定义的。

    python查看内置函数,命令:

    import builtins

    dir(builtins)

    #全局名称空间  文件中 顶头写,没有任何缩进定义的函数或是变量。

    定义之后,在整个文件的任何位置都可以用。

     

    #局部名称空间 

    定义之后,在局部环境内可以调用,例如在一个定义函数中定义的变量,只能在当前函数内部调用,往外全局或是其他函数均不能调用。

      

    在外部,或是其他定义的函数调用的话,会报错!

    内置和全局名称空间 合称全局作用域

    局部名称空间 叫做局部作用域

      #先定义后使用!!!

     

    使用寻找过程: 局部找 本层找不到的话,会依次往上一层定义的函数去找,找不到--->全局找 ,全局找不到的话 ---> 从系统的内置找

     

     

    名称文件的查询  全局:globals()   局部:locals()  输出为字典格式

    x=1

    def func()

        print("from func")

        x=2

    print(globals())

     

    函数嵌套及静态嵌套域

    #嵌套调用

    #嵌套定义

     

    函数对象与闭包

    函数是第一类对象。

    函数可以被赋值,

    可以把函数当成参数传递,

    把函数当成返回值,

    把函数当成容器类型的元素。

     

    #闭包

    定义:首先必须是内部定义的函数,该函数包含对外部作用域而不是全局作用域名字的引用。

    没值的话会返回None.

     

    无参装饰器

  • 相关阅读:
    如何学习编程语言?
    spring AOP(1)
    一个老工程师给年轻工程师的十大忠告!!!
    跳楼时看到的[转]
    Python distribution打包&安装流程
    php rsa类的一个写法
    yii数据表关联操作
    JIRA是个好工具
    Yii CModel.rules() 方法 validate预定义完整列表
    Python Challenge挑战一下
  • 原文地址:https://www.cnblogs.com/zh605929205/p/6682071.html
Copyright © 2011-2022 走看看