1、在使用PyCharm新建python package时,会发现生成的包里,有__init__.py 这个文件,而且这文件是空的。

既然是空的?那删了吧!

删了就悲剧咯,这货算是package的一个标识,IDE就是通过它来判断package的。

当然,它还有另外一个作用,暂且不提它,先说说__all__。

2、Python中的包和模块有两种导入方式:精确导入和模糊导入

以上图为例,精准导入,假如A.py里有函数A1(),A2()。

此时B.py需要引用它们,可以如下:

from hello.A import A1,A2

假如方法比较多,或许会偷懒,用模糊导入:

from hello.A import *

而__all__,则可以控制*所表示要引入的东西(模块,函数,类等):

如果将__all__里的sayA2去掉,B.py里就会报sayA2查找不到的错误。

3、__init__.py的用法:

当然__all__也可以在__init__.py里声明,__init__.py是上图hello目录下的,可以理解为,该目录下py文件的函数都统一到__init__.py来声明

此时B.py里只是引入hello目录,并未精准到py文件。

以上都是个人理解,有不正确的,请指JB正。

打波广告:欢迎私信,ocr文字识别,人脸识别,价格优惠,甚至免费!!!——源始科技

个人理解,关于python 的__init__.py 以及 __all__ 的用法相关推荐

  1. Python杂谈: __init__.py的作用

    我们经常在python的模块目录中会看到 "__init__.py"  这个文件,那么它到底有什么作用呢? 1. 标识该目录是一个python的模块包(module package ...

  2. Python中 __init__.py的作用

    我们经常在python的模块目录中会看到 __init__.py 这个文件,那么它到底有什么作用呢? 1.标识该目录是一个python的模块包(module package) 如果你是使用python ...

  3. 关于python中 __init__.py

    python   __init__.py  常见的情况中,我们将自己写好的代码转化为函数的话去调用的话,都是事先写好一个.py结尾的文件,将这个文件copy到当前目录下,或者是在python的sys. ...

  4. Python的__init__.py文件作用

    今天在运行pytest命令的时候遇到报错,试过很多种方法,也没解决.后来才发现原来是无意中删除了__init__.py文件,python虚拟机觉得不是合法的包,导致不能识别而报错.添加之后再运行,果然 ...

  5. 深入Python(2): __init__.py 用法

    原文:http://www.2cto.com/kf/201204/129388.html python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的mod ...

  6. python中 __init__.py的例程

    __init__.py一般是为空,用在一个python目录中,标识该目录是一个python的模块包 先上来看一个例子: 1 .: 2 test1 test2 test_init.py 3 4 ./te ...

  7. python的使用说明_Python教程:Python中__init__.py的使用用法说明

    Python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的 ...

  8. python中__init__.py是干什么的

    2019独角兽企业重金招聘Python工程师标准>>> 转自:http://www.cnblogs.com/BeginMan/p/3183629.html python的每个模块的包 ...

  9. python中__init__.py的用法,执行指定的多个.py文件生成报告。简单粗暴1

    这里以执行指定的多个test.py文件生成报告为例 __init__.py文件用于组织包(package). 简单来说,包是含有python模块的文件夹.一个python模块(module)为一个py ...

最新文章

  1. 【资源分享】639页《深度学习:Deep Learning》硬核课程PPT
  2. 【Python】Pycharm
  3. stm32 输入捕获学习(一)
  4. linux 网桥的管理和搭建
  5. RabbitMQ(1) - win+rabbitMQ
  6. Spring框架----Spring的bean之三种创建bean对象的方式
  7. IE有错误,需要重置IE
  8. pad连接与数据流动
  9. 非网络打印机/扫描仪无线解决方案
  10. excel汇总报表如何做?
  11. 京东产品上架如何批量上传商品素材?
  12. 第7章第33节:五图排版:错落有致的波浪式排版 [PowerPoint精美幻灯片实战教程]
  13. 计算机常用术语cae是指,《计算机文化基础》练习题
  14. 计算机位的英语,计算机中位的英文名字为()
  15. 神经网络学习小记录52——Pytorch搭建孪生神经网络(Siamese network)比较图片相似性
  16. 软件工程--面向对象的分析和设计方法
  17. 如何快速完成事业单位继续教育
  18. 视频剪辑必看,6个免费的音、视频素材网站
  19. 推荐国外经典计算机教材9本
  20. 程序员的六大赚钱副业!

热门文章

  1. 如何能成为一个更优秀的人
  2. python二分法查找程序_基础算法——查找(二分法)(python)
  3. Postman+Newman执行自动化测试
  4. 【PTA】7-14 福到了
  5. 系统监理工程师学习笔记
  6. 禅道讲义之超级管理员
  7. 解决捕获海康摄像头图像时报错:NET_DVR_GetLastError()= 4
  8. 编辑出库单issue
  9. Windows系统好用免费的远程桌面软件介绍
  10. 8. Git 远程协作