python基础教学08--模块与包

42 篇文章 0 订阅
39 篇文章 0 订阅

一、模块

1、模块就是工具包想要使用这个工具包中的工具,就需要导入这个模块。在python中一个python文件就是一个模块,两个文件就是两个模块
2、在这里插入图片描述
3、模块导入的方式:

  1. import 模块名1,模块名2:当解释器遇到import语句,如果模块在当前搜索路径就会被导入
  2. import 模块名.函数名:在多个模块中含有相同的函数,如果只是通过函数名来调用,解释器无法知道到底那个要调用那个函数。如果要像上述引入模块的时候,调用函数必须加上模块名
  3. from 模块名 import 函数名/变量名:通过这种方法引入的时候,调用函数时只能给出函数名,不能给出模块名,但是当两个模块中含有相同的名称函数的时候,后面一次引入会覆盖前一次的引入。
  4. import 长模块名 as 短模块名:import numpy as np 对过长的模块名称重新定义一个较为简单的名称
  5. from 模块名 import * : 可以导入这个模块中的所有内容。

4、模块中的__all__有什么作用吗?
答:如果有一个文件中有all变量,那么也就意味着这个变量中的元素,不会被from xxx import * 时导入
5、再导入一个模块的时候python解释器的模块搜索路径为:

  • 当前目录
  • 如果不再当前目录,python则搜索在shell变量PYTHONPATH下的每一个目录
  • 如果都找不到,python会查看默认路径。UNIX下默认路径一般为/usr/local/lib/python/
  • 模块搜索路径储存在system模块的sys.path变量中。

二、包

1、包将有联系的模块组织在一起,有效的避免模块名称冲突问题,让应用组织结构更加清晰。一个普通的python应用程序目录结构:在这里插入图片描述
2、python提供一个明确的索引解决import * 导入的时候花费大量时间,并出现边界效应问题。
这个索引由__init__.py定义__all__变量,改变量为一列表,只会导入指定的内容。

三、模块制作与发布

1、

  • 定义模块:在python文件都可以作为一个模块,模块的名字就是文件的名字。
  • 测试模块:在实际开发中,一个开发人员编写完一个模块后,为了让模块能够在项目中达到想要的效果,这个开发人员会自行在py文件中添加一些测试信息。

2、在python执行一个文件时有一个变量__name__可以根据__name__变量的结果能够判断出,是直接执行的python脚本还是被引入执行的,从而能够有选择性的执行测试代码。
if__name__== __main__pass
3、模块发布;准备发布

  • 为模块文件创建一个文件夹,并将模块文件复制到这个文件中(一般,文件夹的名字和模块的名字一样)
  • 在文件夹中创建一个名为【setup.py】的文件,内容如下:在这里插入图片描述
  • 【py_modules】 = {你需要发布的模块名,不需要.py}

4、模块发布 ;构建发布&发布预览

  • 构建模块并一个发布文件
  • python setup.py build
  • python setup.py sdist
  • 将发布安装到你的python本地副本中:python set.py install
  • 发布预览在这里插入图片描述

5、pypi发布

6、源码安装

  • 找到模块的压缩包
  • 解压
  • 进入文件夹
  • 执行命令 sudo python setup.py install
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值