第七章 模块(module)
模块的创建和测试代码
import math
math.__name__ #输出'math
通过 __doc__可以获得文档字符串的内容。
模块的导入
mport 语句的基本语法格式如下:
import 模块名 #导入一个模块
import 模块 1,模块 2… #导入多个模块
import 模块名 as 模块别名 #导入模块并使用新名字
Python 中可以使用 from…import 导入模块中的成员。基本语法格式如下:
from 模块名 import 成员 1,成员 2,…
如果希望导入一个模块中的所有成员,则可以采用如下方式:
from 模块名 import * (避免用)
__import__()动态导入
s = "math"
m = __import__(s) #导入后生成的模块对象的引用给变量 m
print(m.pi)
重新加载
有时候我们确实需要重新加载一个模块,这时候可以使用:
importlib.reload()
包 package 的使用
包”就是一个必须有__init__.py 的文件夹
包的导入
1. import a.aa.module_AA
在使用时,必须加完整名称来引用,比如:a.aa.module_AA.fun_AA()
2. from a.aa import module_AA
在使用时,直接可以使用模块名。 比如:module_AA.fun_AA()
3. from a.aa.module_AA import fun_AA 直接导入函数
在使用时,直接可以使用函数名。 比如:fun_AA()
包内引用
from .. import module_A #..表示上级目录 .表示同级目录
from . import module_A2 #.表示同级目录
sys.path 和模块搜索路径
1. 内置模块
2. 当前目录
3. 程序的主目录
4.
pythonpath 目录(如果已经设置了 pythonpath 环境变量)
5. 标准链接库目录
6.
第三方库目录(site-packages 目录)
7. .pth 文件的内容(如果存在的话)
8. sys.path.append()临时添加的目录
模块的本地发布
2 在文件夹中创建一个名为『setup.py』的文件
from distutils.core import setup
setup(
name='baizhanMath2', # 对外我们模块的名字
version='1.0', # 版本号
description='这是第一个对外发布的模块,测试哦' #描述
author='Winey', # 作者
author_email='Winey@163.com',
py_modules=['ttt.demo1','ttt2.demo2'] # 要发布的模块
)
3. 构建一个发布文件。通过终端,cd 到模块文件夹 c 下面,再键入命令:
python setup.py sdist
本地安装模块
将发布安装到你的本地计算机上。仍在 cmd 命令行模式下操作,进 setup.py 所在目
录,键入命令:
python setup.py install