课程名称:Python3 进阶教程(新版)
章节名称:第5章 Python的模块
讲师名称:咚咚呛
课程内容
- 模块和包
- 定义模块
- 导入模块
- 模块导入的路径
- 安装第三方模块的方法
学习收获
模块和包
所有代码都写在一个py文件,难以维护。把代码按功能划分到不同的文件。然后按需引入即可。
# main.py
import tools
print(tools.say_hello())
模块在文件系统中表现为一个python文件。
模块分为官方模块,自定义模块,第三方模块。
模块多了就难以维护,将模块代码放到不同的文件夹里,这里也叫做包。
# main.py
from network import tools # 导入 network 包的 tools 模块
包在文件中表现为文件夹。并且每个包都要有一个 __init__.py
文件
定义模块
Python语言本身提供了非常多的模块,比如数学模块math、cmath、decimal、statistics;文件模块pathlib、stat、shutil等;除了使用官方模块,有时候也需要自定义模块。
# common.py
def say_hello(name):
print 'hello {}, welcome to python'.format(name)
导入模块
在使用之前,我们需要先导入模块。Python使用import
语句导入一个模块。
模块分为官方模块,自定义模块,第三方模块。导入官方模块,不需要考虑路径的问题,如果是导入自定义模块,则需要考虑路径问题。
如果希望导入模块的指定部分属性或函数,那么使用from...import...
语句。
如果从一个模块导入函数,有可能会遇到导入的函数与本文件的函数冲突的情况。有两种方法可以解决这个问题:
- 第一种是直接导入模块,不指定导入模块里面的具体内容;
- 第二种方法就是使用
from ... import as ...
语句,as类似重命名,可以把导入的函数或属性重命名为别的名字。
以下是两种方式引入功能函数
from math import sin, cos
print(sin(1))
print(cos(1))
import math
print(sin(1))
print(cos(1))
模块导入的路径
导入官方模块的时候,不需要考虑路径问题,这是因为在搜索模块的时候,会默认包含官方模块的路径,所以导入官方模块不需要考虑路径的问题。如果需要导入自定义模块,则需要了解Python导入模块搜索的路径。通过sys模块,可以知道导入模块的路径。
import sys
print(sys.path)
sys.path.append('../')
print(sys.path)
安装第三方模块的方法
在安装Python的时候,Python环境提供了安装第三方模块的工具:pip,通过这个工具,可以非常快捷的安装第三方模块。
pip install django
pip uninstall django