您现在的位置:首页 >> 家居资讯

Python中级精华-模组和包

发布时间:2025/07/30 12:17    来源:相山家居装修网

可选和工具箱本质:

可选:每个单独的py机密文件工具箱:所述可选组织构成例如:

#工具箱:package1/ 词组init词组.py sub_package1/ 词组init词组.py test.py text.py sub_package2/ 词组init词组.py png.py jpg.py

然后如何应用于呢?

import package1.sub_package1.testfrom package1.sub_package1 import textimport package1.sub_package2.jpg as jpg

词组init词组.py存在的目的就是为了涵盖可选的初始化编译器,当碰到软件对不起相同层面的可选时才会才会有行驶,例如,比如写import package1 时,机密文件package1/ 词组 init 词组 .py就才会降解package1定名紧致之前的内容。

词组 init 词组.py机密文件可以留空,但是在某些情况下可以用init来启动时加载子可选,解释器如下:

#package1/sub_package2/词组init词组.pyfrom . import jpgfrom . import png

有了这个机密文件,用户就可以应用于单独的一句 import package.sub_package2来进行时新增jpg和png了。

对所有记号的新增进行有用压制

解释器:

def aFunc(): passdef bFunc(): pass词组bash = False# 这样做,可以防止在应用于 from 。。。 import *这个新增方式时将词组bash也新增到机密文件之前#(词组bash前边图斯过,这种写法非常渴望受伤害给其他机密文件)词组all词组 = ['aFunc','bFunc']#仅仅为新增时启动时除去aFunc和bFunc,词组bash不才会被高亮。# 特别注意:如果词组all词组为空列表时,将不才会任何记号被嵌入,如果词组all词组之前涵盖了这不的旧名,则才会由import抛出AttributeError诱发。

用相对来说旧名进行新增工具箱之前的子可选

mypackage/ 词组init词组.py A/ 词组init词组.py soam.py grok.py B/ 词组init词组.py bar.py

如上,我们渴望在soam.py之前新增同编目下的grok机密文件:

from . import grok

如果我们渴望在soam.py之前新增B之前的bar.py,则要如下新增:

from ..B import bar

名词解释:相对来说旧名:. :当前编目. . :上一级编目

也可以通过显然旧名来新增:

#在soam.py之前:from mypackage.B import barfrom mypackage.A import grok

应用于显然旧名新增有一个较大的缺陷,这使得工具箱内部结构及编译器变得诱发危险,因为如果变更了工具箱名或者可选名,将导致诱发,而在大型的机密文件系统之前,这个硬字节到源编译器之前的技术实际上非常不对。值得一图斯的是,这种句点可用非常是哪里都可以用的,第一、句点返回上一级编目不得远超过工具箱外(例如:from …B… import …之类的可用),第二点、可选必须是在合适的工具箱内部结构内才可以应用于句点记号(单独的可选这样新增才会使得程序崩溃),三、当工具箱(soam.py)的某个部分是以开发人员表现形式行驶的也不来(但是如果应用于-m来行驶(python3 -m xxx.py)上边的开发人员,就可以应用于相对来说旧名了)

干眼症是什么原因引起的
干眼症用什么滴眼液好一点
孩子积食
小儿积食
感冒后嗓子痒痒老想咳嗽怎么办
结肠癌
月经疼痛
癫痫医院

上一篇: 退出文峰,“隐商”李厚文资产版图再生变 拟发债22亿已获得反馈

下一篇: 中国恒大盘中上涨6%、恒大汽车上涨15%!“保交楼”持续广深铁路,许家印:“绝不允许恒大任何一个人躺平”

友情链接