我爱编程

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

2018-04-13  本文已影响0人  缘小泽

模块

什么是模块

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

使用模块的好处

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

模块的分类

模块可以分为三种:

模块的调用方法

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需要满足两个条件:

上一篇下一篇

猜你喜欢

热点阅读