美文网首页
17.python3模块

17.python3模块

作者: dwy_interesting | 来源:发表于2020-05-26 10:51 被阅读0次

    模块的基本概念

    1.什么是模块
    模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法
    常见的场景:一个模块就是一个包含了一组功能的Python文件,比如spam.py,模块名为spam,可以通过import spam使用。
    在Python中,模块的使用方式都是一样的,但其实细说的,模块可以分为四个类别:
    1、使用Python编写的.py文件
    2、已被编译为共享库或DLL的C或C++扩展
    3、把一系列模块组织到一起的文件夹(注:文件夹下有一个init.py文件,该文件夹称之为包)
    4、使用C编写并链接到Python解释器的内置模块

    2.为什么使用模块
    从文件级别组织程序,更方便管理
    提升开发效率

    引入模块

    模块分为三种:
    1、内置模块(又称标准库)执行help('modules')查看所有Python自带模块列表
    2、第三方开源模块,可通过pip install 模块名 联网安装
    3、自定义模块

    当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。
    搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块 support,需要把命令放在脚本的顶端:
    举个栗子:模块testm.py

    def func( par ):
        print ("Hello : ", par)
        return
    
    #在test.py文件引入testm.py模块
    # 导入模块
    import testm
     
    # 现在可以调用模块里包含的函数了
    testm.func("world"))    #输出结果:Hello :  world
    

    引入模块指定内容

    from...import语句
    Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中,语法如下:

    from modname import name1[, name2[, ... nameN]]
    

    举个栗子:

    from testm import func  #要导入模块 testm 的 func 函数
    func(“world”)   #输出结果:Hello :  world
    

    这个声明不会把整个testm模块导入到当前的命名空间中,它只会将testm里的func函数引入进来。

    from … import * 语句
    把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明:

    from modname import *
    

    模块name属性

    name属性
    一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用name属性来使该程序块仅在该模块自身运行时执行。
    举个栗子:

    if __name__ == '__main__':
       print('程序自身在运行')
    else:
       print('我来自另一模块')
    

    1.直接运行模块本身
    输出结果为程序自身在运行
    2.在其他模块引入该模块时
    输出结果为我来自另一模块

    说明: 每个模块都有一个name属性,当其值是'main'时,表明该模块自身在运行,否则是被引入。
    说明:namemain 底下是双下划线。

    相关文章

      网友评论

          本文标题:17.python3模块

          本文链接:https://www.haomeiwen.com/subject/vkrkwhtx.html