zoukankan      html  css  js  c++  java
  • 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 内建作用域

  • 相关阅读:
    MySql为查询结果添加前、后缀
    SQLHelper类
    OracleHelper类
    C#在sql中使用變量訪問Oracle數據庫
    转-调用HTMLTestRunner生成的报告中不能显示用例中print函数的输出
    HTMLTestRunner优化:带截图、饼图、失败重跑
    【转】如何成功安装旧版本火狐,成功安装firebug和firepath插件
    【转】Selenium 加载Chrome/Firefox浏览器配置文件
    mac查看python安装路径
    requests模拟上传照片
  • 原文地址:https://www.cnblogs.com/chenyanliang/p/9947168.html
Copyright © 2011-2022 走看看