美文网首页
接口自动化(二):Python包中的__init__.py的作用

接口自动化(二):Python包中的__init__.py的作用

作者: 最爱西红柿 | 来源:发表于2019-11-29 12:29 被阅读0次

我们创建包时,会看到同步生成了__init__.py文件,对它不理解的我们就会认为是多余的,甚至将其删除。估计大家和我一样,做过这样的傻事吧!为了下次不再误删,那么就让我们一起来学习下吧~

1 . __init__.py作用

__init__.py :定义了包的属性和方法,它的存在告诉我们这是一个包。当然它也可以什么都不定义,甚至内容为空;但是必须要存在这么一个文件。包可以像目录一样,有多个层级,当然每个层级都可存在__init__.py,这样就会形成多层级的嵌套包了。

ps:如果没有__init__.py ,则表明其只为目录,不叫包,也不能被导入了。

2. 导入方式

        import XX

        from XX import XX     

我们导入模块(包)的时候,实际上是在导入__init__.py文件;如果我们在这个包下创建了多个.py文件后,但只想使用该包下的某一模块,可以在__init__.py文件里通过__ all__= [ '模块名'] 添加指定的模块。

图一

Base包下,有mock和runmethod两个模块,在init__.py文件里,只让其他包导入runmethod这个模块;在Main包下,通过from Base import  * 导入init__.py里配置的所有模块,有且仅有runmethod模块。

图二

PS : *代表所有

图三

3 . 补充

__init__.py还如类里的构造函数一样,起着初始化的作用。

运行run_test.py,结果打印hello world.

图四 图五

相关文章

网友评论

      本文标题:接口自动化(二):Python包中的__init__.py的作用

      本文链接:https://www.haomeiwen.com/subject/wwyywctx.html