包与模块

什么是包?什么是模块?

模块:python中每个python文件都是一个独立的模块,是较少的,独立的,功能近似的多个变量,函数,类型的集合。
包:包含多个模块的文件夹,包含一个特殊的init.py的声明文件,包含多个模块,具备强大功能的文件。
模块就像一个单独的工具,而包则就是一个工具箱

包的声明定义,模块的声明定义

包的声明定义:创建一个文件夹,在该文件夹中,创建一个空文件init.py,此时,这个文件夹就是程序包,可以在该文件夹中定义各种模块。
模块的声明定义:创建一个文件夹,在该文件夹中创建文件xxxx.py,这就是一个工具模块

包和模块的使用

为什么要有包和模块

为了更好的组织管理代码, python中出现了包和模块的概念,通过有效的整理代码,提高代码的复用性能

导入操作:import操作详解!

1、import 语法
引入一个模块
import 模块名称
使用模块中的数据
模块名称:变量名称
模块名称:函数名称
模块名称:类型名称

引入一个包
import 包名称
使用包中的数据
包名称.模块名称.变量名称/函数名称/类型名称

引入一个包中的某个变量
import 包名称.模块名称
使用包中的数据
包名称.模块名称.变量名称/函数名称/类型名称

无法直接引入包中的某个变量

2、from import语法
(相对)引入包
from.import 包名称 [ 必须在init.py中, 主动通过from.import引入需要的模块]
使用数据
包名称.模块名称.变量名称/函数名称/类型名称

(相对)引入包中的模块
from.包名称 import 模块名称
使用数据
模块名称.变量名称/函数名称/类型名称

(相对)引入包中的模块中的数据
from.包名称 import 变量/函数/类型
使用数据:当成当前文件中的数据进行数据
变量名称/函数名称/类型名称

包特殊操作:

模糊导入
all属性就是用于模糊导入的特殊魔法属性,值是一个包含模块名称的列表,主要声明在init.py文件中,用于定义可以使用通配符的方式引入的模块

自定义包

包:发布操作

标准化构建:将开发的代码文件按照标准的格式进行组织管理
在包文件中添加一个构建模块setup.py
在构建模块中,添加如下的项目描述
from distutils.core import setup
setup()
执行标准化构建
python setup.py build

打包压缩:将构建好的代码文件,打包压缩到一个文件中,方便管理使用
python setup.py sdist

发布:将自己开发好的程序,经过打包之后,发布到官方模块管理标准网站中!
pip install twine (安装模块)
上传自己的程序包
Twine upload dist/*
输入在pipy的账号:xxxxxxxxxx
输入在pipy的密码:xxxxxxxxxx
发布成功

其他开发人员~在联网的情况下:pip install 程序包名称

    原文作者:言烬
    原文地址: https://www.jianshu.com/p/6b311877e3c1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞