• Python 模块


    1、模块(Module)

    Python模块是一个Python文件,以.py结尾,包含了Python对象定义和Python语句。

    模块能够让你更有逻辑组织你的代码段

    模块能定义函数、类和变量,模块里也能包含可执行的代码

    模块 support.py

    def print_func( par ):

      print "Hello :", par

      return

    2、import 语句

    模块定义后,可以使用import语句引入模块

    import support

    support.print_func("7890")

    输出结果:  Hello :7890

    一个模块只会被导入一次,不管你执行多少次import。

    3、form...import 语句

    Python的from语句让你从模块中导入一个指定的部分到当前命名空间中

    from support import print_func

    print_func("7890")

    输出结果: Hello :7890

    from...import * 语句 把一个模块的所有内容全部导入到当前的命名空间

    4、命名空间

    定义:名称到对象的映射。命名空间是一个字典的实现,键为变量名,值是变量对应的值。各个命名空间是独立没有关系的,一个命名空间中不能有重名,但是不同的命名空间可以重名而没有任何影响

    local 局部命名空间,每个函数所拥有的命名空间,记录了函数中定义的所有变量,包括函数的入参、内部定义的局部变量

    global 全局命名空间,每个模块加载所执行时创建,记录了模块中定义的变量,包括模块中定义的函数、类、其他导入的模块、模块级的函数和常量

    built-in python自带的内建命名空间,任何模块均可以访问,放着内置的函数和异常

    生命周期

    local 在函数被调用时才被创建,但函数返回结果或抛出异常时被删除。(每一个递归函数都拥有自己的命名空间)

    global 在模块被加载时创建,通常一直保留直到python解释器退出

    built-in 在python解释器启动时创建,一直保留直到解释器退出

    各命名空间创建顺序:python解释器启动-> 创建内建函数命名空间 -> 加载模块 -> 创建全局命名空间 -> 函数被调用 -> 创建局部命名空间

    命名空间销毁顺序:函数调用结束 -> 销毁函数对应的局部命名空间 -> python虚拟机(解释器)退出 -> 销毁全局命名空间 -> 销毁内建命名空间

    python 解释器加载阶段创建出内建命名空间、模块的全局命名空间,局部命名空间是在运行阶段函数被调用时动态创建出来的,函数调用结束动态销毁。

    5、作用域

    作用域是针对变量而言,指申明的变量在程序里的可应用范围。或者称为变量的可见性。

    只有函数、类、模块会产生作用域,代码块不会产生作用域

    Local 局部作用域

    Enclosing (嵌套函数的外层函数内部)嵌套作用域(闭包)

    Global 全局作用域

    Built-in 内建作用域

  • 相关阅读:
    解决centos yum源配置出现Couldn't resolve host 问题
    Centos7下MongoDB下载安装详细步骤
    PHP操作mongodb扩展的坑 及php7安装mongodb扩展
    阿里云 Composer 全量镜像
    centos beanstalkd 安装 与php调用
    centos与windows共享文件夹
    centos php 安装编译 常见报错
    [PHP] layui实现多图上传,图片自由排序,自由删除
    Vue-element-admin实现菜单根据用户权限动态加载
    迭代器的使用方法
  • 原文地址:https://www.cnblogs.com/chenyanliang/p/9947168.html
Copyright © 2020-2023  润新知