Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
模块让你能够有逻辑地组织你的 Python 代码段。
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
通俗的讲:
模块,用一堆代码实现了某个功能的代码集合。
类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。
如:os 是系统相关的模块;file是文件操作相关的模块
模块分为三种:
- 自定义模块
- 内置模块
- 开源模块
自定义模块
1、定义模块
情景一:
情景二:
情景三:
2、导入模块
Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入。导入模块有一下几种方法:
import module from module.xx.xx import xx from module.xx.xx import xx as rename from module.xx.xx import *
导入模块其实就是告诉Python解释器去解释那个py文件
- 导入一个py文件,解释器解释该py文件
- 导入一个包,解释器解释该包下的 __init__.py 文件
那么问题来了,导入模块时是根据那个路径作为基准来进行的呢?即:sys.path
import sys print(sys.path) ['C:\\Users\\Administrator\\PycharmProjects\\suanfa', 'C:\\Users\\Administrator\\PycharmProjects\\suanfa', 'E:\\python\\python3\\python35.zip', 'E:\\python\\python3\\DLLs', 'E:\\python\\python3\\lib', 'E:\\python\\python3', 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python35\\site-packages', 'E:\\python\\python3\\lib\\site-packages', 'E:\\python\\python3\\lib\\site-packages\\win32', 'E:\\python\\python3\\lib\\site-packages\\win32\\lib', 'E:\\python\\python3\\lib\\site-packages\\Pythonwin']
如果sys.path路径列表没有你想要的路径,可以通过 sys.path.append('路径') 添加。
通过os模块可以获取各种目录,例如:
import sys import os pre_path = os.path.abspath('../') sys.path.append(pre_path)