个人理解,关于python 的__init__.py 以及 __all__ 的用法
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__ 的用法相关推荐
- Python杂谈: __init__.py的作用
我们经常在python的模块目录中会看到 "__init__.py" 这个文件,那么它到底有什么作用呢? 1. 标识该目录是一个python的模块包(module package ...
- Python中 __init__.py的作用
我们经常在python的模块目录中会看到 __init__.py 这个文件,那么它到底有什么作用呢? 1.标识该目录是一个python的模块包(module package) 如果你是使用python ...
- 关于python中 __init__.py
python __init__.py 常见的情况中,我们将自己写好的代码转化为函数的话去调用的话,都是事先写好一个.py结尾的文件,将这个文件copy到当前目录下,或者是在python的sys. ...
- Python的__init__.py文件作用
今天在运行pytest命令的时候遇到报错,试过很多种方法,也没解决.后来才发现原来是无意中删除了__init__.py文件,python虚拟机觉得不是合法的包,导致不能识别而报错.添加之后再运行,果然 ...
- 深入Python(2): __init__.py 用法
原文:http://www.2cto.com/kf/201204/129388.html python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的mod ...
- python中 __init__.py的例程
__init__.py一般是为空,用在一个python目录中,标识该目录是一个python的模块包 先上来看一个例子: 1 .: 2 test1 test2 test_init.py 3 4 ./te ...
- python的使用说明_Python教程:Python中__init__.py的使用用法说明
Python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的 ...
- python中__init__.py是干什么的
2019独角兽企业重金招聘Python工程师标准>>> 转自:http://www.cnblogs.com/BeginMan/p/3183629.html python的每个模块的包 ...
- python中__init__.py的用法,执行指定的多个.py文件生成报告。简单粗暴1
这里以执行指定的多个test.py文件生成报告为例 __init__.py文件用于组织包(package). 简单来说,包是含有python模块的文件夹.一个python模块(module)为一个py ...
最新文章
- 【资源分享】639页《深度学习:Deep Learning》硬核课程PPT
- 【Python】Pycharm
- stm32 输入捕获学习(一)
- linux 网桥的管理和搭建
- RabbitMQ(1) - win+rabbitMQ
- Spring框架----Spring的bean之三种创建bean对象的方式
- IE有错误,需要重置IE
- pad连接与数据流动
- 非网络打印机/扫描仪无线解决方案
- excel汇总报表如何做?
- 京东产品上架如何批量上传商品素材?
- 第7章第33节:五图排版:错落有致的波浪式排版 [PowerPoint精美幻灯片实战教程]
- 计算机常用术语cae是指,《计算机文化基础》练习题
- 计算机位的英语,计算机中位的英文名字为()
- 神经网络学习小记录52——Pytorch搭建孪生神经网络(Siamese network)比较图片相似性
- 软件工程--面向对象的分析和设计方法
- 如何快速完成事业单位继续教育
- 视频剪辑必看,6个免费的音、视频素材网站
- 推荐国外经典计算机教材9本
- 程序员的六大赚钱副业!