• 函数对象和名称空间


    函数

    函数时第一类对象

    1.函数名可以被引用

    2.函数名可当作参数去使用

    3.函数名可以当作返回值使用

    传参时,如果无特殊需求,一定不能加(),否则就当场执行

    def index():

      print(‘from index’)

    def func(a):

      return a

      a=func(index) a() 

    执行结果:

      from index

    4.函数名可以被当作容器类型的元素

    def func():
        print('from func')
    
    
    l1 = [1, '2', func, func()]
    f = l1[2]
    print(f)
    
    
    from func
    <function func at 0x00000237E4132EA0>

    5.函数的嵌套调用

    6.函数的嵌套定义

    名称空间

    存放名字的空间

    分类:

      要拿到一个变量值,先进入名称空间,拿到变量名,得到与他绑定的关系

    1.内置名称空间

      python提前给的定义完的名字,存在于内置空间

    2.全局名称空间

      存放于文件级别的名称就是全局名称空间

    if,while,for内部定义的名字执行后,都存放于全局名称空间

    3.局部名称空间

      def index():

        a =1

        print(a)

      index ()

      print(a)报错

    生命周期:

    1.内置名称空间

      在python解释器启动时生效,关闭python解释器的时候失效

    2.全局名称空间

      当你启动当前这个py文件时侯就开始生效,当前页代码执行结束之后失效

    3.局部名称空间

    当你调用当前函数时生效,函数代码执行结束时就失效

    名称空间查找顺序:

      局部:局部》全局》内置

      全局:全局》内置  #内置找不到报错

      函数内部使用名字,在定义阶段已经规定死了,与你位置无关

    作用域:

      分类:

        全局作用域  全局可以调用的名字,内置名称空间+全局名称空间就存在于全局作用域

        局部作用域  局部可以调用局部名称空间

    globa 声明全局变量

    nonlocal  在局部中声明局部变量

    可变类型可以在局部修改上层外部变量的值

  • 相关阅读:
    KindEditor粘贴word图片且图片文件自动上传功能
    umeditor粘贴word图片且图片文件自动上传功能
    百度Web编辑器粘贴word图片且图片文件自动上传功能
    PHP大文件上传支持断点上传解决方案
    PHP大文件上传支持断点上传教程
    matlab函数——shading函数
    Matlab griddata函数功能介绍
    戴尔 SE2416HM
    visio中如何旋转形状
    axios的封装与异常处理(async/await)
  • 原文地址:https://www.cnblogs.com/godlover/p/11835787.html
Copyright © 2020-2023  润新知