python包的中 _init _.py文件介绍
python包的中 _init _.py文件介绍
我们新建python包时常常会看到一个__init _.py文件。
作用介绍:
一:这个文件是属于python包的,这个文件用作于标识python包,当一个文件夹有这个__init _.py文件时,python将把其当成一个模块包进行管理。你打开文件可以发现文件是空的。
二:这个文件可以设置变量控制模块的模糊导入,如下:
我现在再包K里面有2个.py文件,如下图片所示:
文件PY1.py内容如下:
def holle1():print('holle1')
文件PY2.py内容如下:
def holle2():print('holle2')
文件__ init.py __内容如下:
__all__ = ['PY2']
print('__init__')
现在我再另一个文件里面导入K包里面的全部模块
from K import *
PY2.holle2()
PY1.holle1() #这里将抛出异常#输出结果如下:
'''__init__ #这里说明了__init__.py被运行了holle2这里抛出异常Traceback (most recent call last):......NameError: name 'PY1' is not defined
'''
抛出异常的原因很简单,原因是因为我在__ init __.py文件里面设置了变量 _all _ 这个变量,这个变量设置的是当将包内的全部模块进行导入时,‘*’号将代表 _ all _变量里面的模块名。并且这里导入的是PY2文件,并不是init _.py文件,但是文件还是运行了。所以说init文件就是包的一部分,不单单是标识作用。
三:当成一个模块来使用(不推荐)
现在我把_init _.py文件内容更改成如下:
print('__init__')
A = ['123']def InitFunction():print('This is the function of __init__.py')
其他文件中:
import K
print(K.A)
print(type(K))
K.InitFunction()
输出结果如下:
__init__ ['123'] <class 'module'> This is the function of __init__.py
init_
[‘123’]
<class ‘module’>
This is the function of _ init_.py
python包的中 _init _.py文件介绍相关推荐
- python执行txt中代码_【技术分享】文件解压之过 Python中的代码执行
预估稿费:200RMB 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 一.前言 Python中负责解压压缩文件的代码实现上并不安全,存在目录遍历漏洞,攻击者可以利用该漏洞覆盖_ ...
- python setting.py_python基础教程:Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...
- 第四章:Python项目组织结构-第一节:包、模块以及__init__.py文件
部分参考:菜鸟教程 文章目录 思维导图 一:Python项目组织结构 (1)Python项目组织结构 (2)包与模块的作用 (3)包与模块的名字 二:导入模块 (1)import (2)from... ...
- python基础教程:Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...
- 记事本写python怎么运行-从头学Python之编写可执行的.py文件
Python可是真强大.但他具体是怎么强大的,让我们一点一点来了解吧(小编每天晚上下班回家会抽时间看看教程,多充实下自己也是好的). 废话不多说,就讲一下这个背景吧: 事情是这个样子的~本着好学的精神 ...
- python脚本之家 包的创建和调用_python基础之包的导入和__init__.py的介绍
调用同级目录: – src |– mod.py |– test.py 若在程序test.py中导入模块mod, 则直接使用 import mod 或 from mod import * 调用子目录下的 ...
- 在Qt for Python应用程序中使用Designer UI文件
在Qt for Python应用程序中使用Designer UI文件 在Qt for Python应用程序中使用Designer UI文件 将表单转换为Python代码 UiTools方法 在Qt f ...
- Django框架的中的setting.py文件说明详解
这篇文章主要介绍了Django框架的中的setting.py文件说明详解,这个文件包含了所有有关这个Django项目的配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.加载数据库,数据库 ...
- Linux中直接运行py文件
(1) 创建*.py文件* nano与vim创建文件时,如果文件不存在时,创建并打开:文件存在时,直接打开. nano方式: [coggle@i-7lo31rsr coggle]$ nano nano ...
最新文章
- 不使用 Maven 等构建工具,而使用原始方法在 IntelliJ IDEA 中整合 Tomcat 部署 Web 应用
- ngrx注入到应用类构造函数里的store变量
- 第二十二章 面向对象
- Linux内核参数(如kernel.shmmax)及Oracle相关参数调整(如SGA_MAX_SIZE)
- 一般判五年几年能出来_A股十年不涨的“元凶”被揪了出来,指数不该被冤枉...
- 手动给64位centos6.3版本linux的firefox安装Adobe flash player
- ESFramework Demo -- P2P通信Demo(附源码)
- 【bzoj5090】组题 分数规划
- 深入浅出JavaScript (四)DHTML
- asp在线html编辑器,ASP下使用FCKeditor在线编辑器的方法
- 模块化存储区域网络(SAN)解决方案的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- c语言:简单的客户管理系统
- social-share,社会化分享组件之jquery版
- 程序员学英语之如何优雅的将单词本导出的txt文本转换为Excel
- win7 计算机设置命令,Win7设置开机启动项命令的方法
- Android Notes | 集成推送那点事(友盟/Mob(Flutter)/FCM)
- win10 纯净版系统如何添加字体的方法
- 有趣的23000----整理(07)A词根
- zxing 二维码、带logo二维码生成
- 如何设计一个高并发的存储系统
热门文章
- Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法
- GLSL实现HDR Rendering 【转】
- Redhat和ubuntu的区别
- python中fork创建新的进程
- Eclipse6里面SSH整合说明
- C#抓取网页程序的实现浅析
- Java中JSON字符串与java对象的互换实例详解
- Maven警告:“java使用了未经检查或不安全的操作。java: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。“
- django.core.exceptions.ImproperlyConfiguredmysqlclient 1.3.13 ornewer is required you have 0.9.2(亲测)
- PHP7开启opcache打造强悍性能