美文网首页我爱编程
Python之路12:模板的概念,分类和导入

Python之路12:模板的概念,分类和导入

作者: 缘小泽 | 来源:发表于2018-04-13 14:16 被阅读0次

    模块

    什么是模块

    在计算机程序中,随着程序代码越写越多,在一个文件里的代码就会越来越长,不容易维护,为了编写可维护代码,就把很多函数进行分组,放在不同的文件中,这样每个文件内的代码就相对较少了
    在python中,一个 .py 文件就可以称为一个模块

    使用模块的好处

    1、最大的好处是提高代码的可维护性,当一个模块编写完成后,就可以被其他地方调用,而不需要从零开始写
    2、使用模块可以比避免函数名和变量名冲突,每个模块都有独立的命令空间,因此相同名字的函数和变量名完全可以分别存在不同的模块中,所以在编写模块时不会考虑名字是否和其他模块冲突

    模块的分类

    模块可以分为三种:

    • 内置标准模块(又称标准库) 执行 help('modules')可查看所有python自带的模块列表
    • 第三方开源模块,可通过 pip install <模块名> 进行联网安装
    • 自定义模块,可自己写一个模块

    模块的调用方法

    import module
    from module import xx
    from module import xx as rename
    from module.xx import *
    # 模块一旦被调用,就相当于执行了另外一个 py 文件内的代码
    

    模块查找路径

    自己写的模块只能在当前路径下的程序里才能导入,被另外一个目录导入就提示找不到,这是因为和当前导入路径有关

    # 可以通过 sys 模块查看默认路径
    >>> import sys
    >>> print(sys.path)
    ['', '/usr/local/python3.6/lib/python36.zip', '/usr/local/python3.6/lib/python3.6', '/usr/local/python3.6/lib/python3.6/lib-dynload', '/usr/local/python3.6/lib/python3.6/site-packages']
    # python 解释器会按照 sys.path 内默认目录顺序去匹配的要导入的模块名
    # 列表第一个元素为空就是表示当前目录,所以会优先调用当前目录
    

    包(Package)

    当你的模块越来越多时,就需要对模块文件进行划分
    一个文件夹管理多个模块文件,这个文件夹就称为包,
    不同包之间的模块互相导入就可以用 from <包名> import <模块名>
    如果要让一个文件夹作为包存在,就必须在该文件存在一个 __init__.py的文件,该文件内容为空。__init__.py用于标识当前文件夹是一个包

    文件夹被python解释器视作Package需要满足两个条件:

    • 文件夹中必须要有 init.py 文件,该文件为空,但必须存在该文件
    • 不能作为顶层模块来执行该文件夹中的 py 文件(即不能作为主函数的入口)

    相关文章

      网友评论

        本文标题:Python之路12:模板的概念,分类和导入

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