文章目录

  • 一、制作包
    • 1、创建包
    • 2、在包内创建模块
  • 二、导入包
    • 1、方法一
    • 2、方法二
  • 三、关于`__pycache__`文件夹说明
  • 四、Python标准库
    • 模块、包和标准库的关系

包是将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为包(包就是一个文件夹)。

换句话说,包也是一个模块,是一个更高级的模块。当我们模块中代码过多时,或者一个模块需要被分解为多个模块时,这时就需要使用到包,普通的模块就是一个.py文件,而包是一个文件夹。引入了一个包,那包中的模块也能被引用了。

一、制作包

1、创建包

[New] — [Python Package] — 输入包名 — [OK] — 新建功能模块。

  • [New] — [Python Package]

  • 输入包名 — [OK](或者回车)

  • 可以看到项目目录导航窗口中,看到我们创建的包和包中的__init__.py 文件。

注意:新建包后,包内部会自动创建__init__.py文件,这个文件控制着包的导入行为。

2、在包内创建模块

  1. 新建包内模块:my_module1my_module2

    [new] —> [Python File] —> 输入文件名

  2. 模块内代码如下

# my_module1
print(1)def info_print1():print('my_module1')
# my_module2
print(2)def info_print2():print('my_module2')

二、导入包

1、方法一

# 导入
import 包名.模块名# 调用包中模块的功能
包名.模块名.目标

示例:

# 导入包中模块--包名.模块名
import my_package.my_module1# 调用功能--包名.模块名.功能()
my_package.my_module1.info_print1()

2、方法二

# 导入包中功能
from 包名 import * 或者 功能名1、2、3...# 调用模块功能
模块名.目标

编辑__init__.py文件中添加__all__ = []

__all__ = ['my_module1']

示例:

# 导包
from my_package import *# 调用__all__列表中定义模块的功能。
my_module1.info_print1()

注意:必须在__init__.py文件中添加__all__ = [],控制允许导入的模块列表。
如果没有定义在__all__列表中的模块,无法导入到指定文件中。

三、关于__pycache__文件夹说明

在包中还有一个叫__pycache__的文件夹,__pycache__是模块的缓存文件夹。

Python代码在执行前,需要被解析器先转换为机器码,然后再执行,所以我们在使用模块(包)时,也需要将模块的代码先转换为机器码然后再交由计算机执行,而为了提高程序运行的性能,Python会在编译过一次以后,将代码保存到一个缓存文件中,这样在下次加载这个模块(包)时,就可以不再重新编译而是直接加载缓存中编译好的代码即可(避免重复解释)。

__pycache__文件夹可以删除,但是以后在调用包中的模块时,还会重新解释模块,还会把解释器处理完的代码保存在__pycache__文件夹中。

四、Python标准库

为了实现开箱即用的思想,Python中为我们提供了许多模块的标准库,在这个标准库中,有很多很强大的模块,提供我们可以直接使用,并且标准库会随Python的安装一同安装。

模块、包和标准库的关系

  • 模块:就是一个.py文件,相当于一个工具类。

  • 包:将有联系的模块组织在一起,即放到同一个文件夹下,方便控制管理。

  • 标准库:官方定义好的,具有相关功能模块的集合。如ossys

总结:

这三个概念实际上都是模块,只不过是个体和集合的区别。

第三方库:就是由其他的第三方机构,发布的具有特定功能的模块。

【无为则无心Python基础】— 48、Python中的包相关推荐

  1. Python基础学习-Python中最常见括号()、[]、{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho

    Python基础学习-Python中最常见括号().[].{}的区别 2015-08-13 07:54 by xuxiaoxiaoxiaolu, 1138 阅读, 0 评论, 收藏, 编辑 Pytho ...

  2. 二十一. Python基础(21)--Python基础(21)

    二十一. Python基础(21)--Python基础(21) 1 ● 类的命名空间 #对于类的静态属性:     #类.属性: 调用的就是类中的属性     #对象.属性: 先从自己的内存空间里找名 ...

  3. python基础类型,Python基础-类

    Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...

  4. Python基础了解 python自带IDLE编译

    目录 学习小标 学习产出: 前言 一.Python版本 二.语言运用的占比 2021年 6 月编程语言排行榜前 20名 三.Python的应用 1.Web开发 2.网络爬虫 3.大数据处理 4.人工智 ...

  5. 视频教程-扣丁学堂Python基础视频教程-Python

    扣丁学堂Python基础视频教程 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即订阅 扫码下载「CSD ...

  6. 我的全栈之路-Python基础之Python概述与开发环境搭建

    我的全栈之路-Python基础之Python概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2. ...

  7. python基础语法--python语言及其应用

    python基础语法 python引言 python python语言是一种高级动态.完全面向对象的语言. python中函数.模块.数字.字符串都是对象. python完全支持继承.重载.派生.多继 ...

  8. Python基础之:Python中的模块

    文章目录 简介 模块基础 执行模块 模块搜索路径 dir 包 包的相对路径 简介 Python的解释环境是很好用,但是如果我们需要编写一个大型的程序的时候,解释环境就完全不够用了.这个时候我们需要将p ...

  9. python添加库详细教程_Python 中如何自动导入缺失的库?|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No mo ...

  10. Python基础入门(中)--阿里云天池龙珠计划python训练营

    一.学习内容概况 学习地址:天池龙珠计划python训练营 今天主要学习到的内容有: 列表 元祖 字符串 字典 集合 序列 二.具体学习内容 1.列表 简单数据类型 整型<class 'int' ...

最新文章

  1. 从零开始 Code Review,两年实战经验分享!
  2. 为Windows mobile编写设计友好的控件[Writing designer friendly controls for Windows Mobile]
  3. 移动端布局的几种方式
  4. c语言修仙受控可看吗,强推三本神奇到爆的小说,c语言修仙,程序员与修真会擦出什么火花...
  5. php列表代码怎么做的,php项目实战:代码讲解之订单列表问题
  6. php异业联盟平台源码,基于ThinkPHP5.1框架开发的B2C在线商城系统PHP源码
  7. 矿区无人机影像地物提取(语义分割)
  8. C#图片处理之:旋转图片90度的整数倍
  9. cycleGAN有matlab代码吗,CycleGAN的代码组成
  10. Android 使用RxJava实现一个发布/订阅事件总线
  11. 游戏筑基开发之测试篇(C语言)
  12. 微信公众号 获取推送消息
  13. 关于苹果字体的小知识
  14. 4412 使用小度wifi
  15. 五笔字根表识别码图_五笔输入法口诀(五笔字根表快速记忆图)
  16. NetworkManager 替代工具 wicd
  17. Python破解WIFI密码详细介绍
  18. 【离散数学】p^q^r为什么既是合取范式又是析取范式
  19. 深度:巨头覆盖之下中老年电商的创新突破策略-获客、选品、转化、粘性
  20. 2D图像像素点操作——平移,旋转,缩放 tcy

热门文章

  1. 为什么我觉得Python烂的要死?
  2. APT攻击、加密方式
  3. tiup cluster prune
  4. mc服务器libs文件夹,[综合|管理]McQQBot —— 在服务器上运行QQ机器人 并产生交互[1.8+]...
  5. OA办公系统快速升级方案,实现复杂流程和移动签批办公
  6. 《卓有成效的管理者》--- 读书笔记(四)
  7. 传统服务器与云服务器
  8. 拷贝文件产生副本_从Windows 10中删除文件后,文件的副本在文件历史记录中保留多长时间?...
  9. armu计算机科学排名2020,2020最新CPU性能排行榜天梯图
  10. 大数定律 与 中心极限定理 的理解