主要是学习这句话: __init__.py 在包被导入时会被执行。
还有一些导入的细节。


当我们:


就会创建一个新的文件夹和文件夹下的 __init__.py
还会有个 ·


所以,__init__.py 作用

1. 表示(标识)一个Python Package


2. __all__ = [‘module1’,‘module2’,.]

有时候我们在做导入时会偷懒,将包中的所有内容导入

对于自己写的模块,想要一键导入,单单这样写:

from package import *

是不够的,要在__init__.py中加入

__all__ = ['package_1', 'package_2']


3. 重点来了:__init__.py 的 装 * 技 巧

(__init__.py 的原任务是表明所在文件夹是一个 Python Package

__init__.py 在包被导入时会被执行。

所以, 除了 __all__ =[…,…] 的用法之外,

还可以在 __init__.py 中导入一些别的第三方库、模块、甚至写一个 baseClass()

需要注意的是:在__init__.py中要 采用相对导入的方式导入本包的模块


相对导入是个啥。。。简单的说:

对于自己定义的module

能import moduleName直接导入的,绝不直接导入。

而用 from . import moduleName


举个用__init__.py的

Python中的包(python package)相关推荐

  1. 对于python来说、一个模块就是一个文件-PYTHON中的包和模块

    为了更加友好的对python代码进行组织管理,python中出现了包和模块的概念 类似生活中整理我们的物品一样,将代码按照不同的功能进行整理整合,可以很大程度的提升代码可读性和代码质量,方便在项目中进 ...

  2. python xlrd安装_详解python中xlrd包的安装与处理Excel表格

    一.安装xlrd 地址 下载后,使用 pip install .whl安装即好. 查看帮助: >>> import xlrd >>> help(xlrd) Help ...

  3. Python入门-Python中的包,impot,from,import

    #Python中的包 #包(python package)是一个分层次的目录(directory)结构,它将一组功能相近的模块组织在一个目录下 #作用:1.代码规范,2.避免模块名称冲突 #包与目录的 ...

  4. python中引入包的时候报错AttributeError: module ‘sys‘ has no attribute ‘setdefaultencoding‘解决方法?

    python中引入包的时候报错AttributeError: module 'sys' has no attribute 'setdefaultencoding'解决方法? 参考文章: (1)pyth ...

  5. 基于python中jieba包的中文分词中详细使用(一)

    文章目录 基于python中jieba包的中文分词中详细使用(一) 01.前言 02.jieba的介绍 02.1 What 02.2特点 02.3安装与使用 02.4涉及到的算法 03.主要功能 03 ...

  6. 浅析Python中signal包的使用

    原文链接:https://www.jb51.net/article/74844.htm 这篇文章主要介绍了Python中signal包的使用,主要在Linux系统下对进程信号进行相关操作,需要的朋友可 ...

  7. 使用python中py2neo包连接neo4j(安装,连接,成功解决)

    使用python中py2neo包连接neo4j neo4j下载 JDK下载 neo4j官网下载 检查安装是否成功 py2neo安装 命令行安装 测试安装是否成功 最近在研究有关知识图谱的任务,选择用图 ...

  8. 如何用Python中Tushare包轻松完成股票筛选(详细流程操作)

    如何用Python中Tushare包轻松完成股票筛选(详细流程操作) 本文包括安装以及调用Tushare包的详细流程操作 一.Tushare简介 Tushare是Python中一个十分好用的免费调用股 ...

  9. 基于python中jieba包的中文分词中详细使用(二)

    文章目录 基于python中jieba包的中文分词中详细使用(二) 01.前言 02.关键词提取 02.01基于TF-IDF算法的关键词提取 02.02词性标注 02.03并行分词 02.04Toke ...

最新文章

  1. Discuz在线升级中的SC和TC分别是什么意思?
  2. 安装配置 flannel - 每天5分钟玩转 Docker 容器技术(59)
  3. 稻盛和夫《活法》读后感
  4. 通过改变环境来改变自己的方法:屡试不爽
  5. nor flash启动与nand flash启动的区别
  6. 【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析
  7. OpenCV3学习笔记二:图像的掩膜操作
  8. MapReduce实例(数据去重)
  9. linux 系统盘无法ls,系统故障排除
  10. 高一计算机信息与技术旅游,信息技术的发展与旅游信息系统的建设
  11. Python读取Access数据库基本操作
  12. win10永久激活方法-备份
  13. Emmet For Faster HTML CSS Workflow by Edwin Diaz
  14. BTrace-Java 线上问题排查神器
  15. 春松客服:一个开源的智能客服系统
  16. 如何初版一本书——出版社选择
  17. D3D11、D3D12开发中CreateSwapChain返回DXGI_ERROR_INVALID_CALL(0x887A0001)错误的坑
  18. win7 下使用超级终端
  19. 大无语事件 谷歌浏览器无标题
  20. emmc和ssd的区别【转】

热门文章

  1. git安装 perl ubuntu_【Git】Linux Ubuntu——源码编译安装Git 2.x 版本
  2. 物联网设备群的软件仿真
  3. ERP、MRP、MRPII、MTL、SCM、CRM、EDI、SFA、CAD、PDM、等相关定义的区分
  4. 用JS实现放大镜特效
  5. 为什么getfield找不到我的属性_原神珠钿舫船夫在哪里?原神珠钿舫船夫位置 为什么找不到?...
  6. DWA 加入动态障碍物 MATLAB仿真
  7. UEditor适配移动端
  8. 移动端Vue项目a标签点击事件无效
  9. 0基础学3D建模该从哪里开始?给你3个建议
  10. Visio文件插入LaTeX/PDF另存为eps格式后导入LaTeX显示不全