python学习模块篇:标准包里的__init__.py文件在调用模块时起的作用

概要:1.调用标准包内模块时,先运行__init__.py内可执行代码(无论下面有没有使用这个模块,一旦引入必先运行)

            2.当调用这个模块时内函数时按调用顺序运行(不再运行__init__.py内代码),如test是个模块,里面有t1这个函数

               如标准调用: test.t1()  先运行test里代码,再运行t1里代码

            3.如用from test import  t1    运行t1()时  只运行t1的代码

            4.对于快捷包,同包下的模块直接引入该模块名,会有隐患,如果其他包内调用该模块,会有ModuleNotFoundError错误

               解释器找不到该模块,引入时需要加包名.模块名(而标准包不会有这个问题)

 

 

 

前置知识:

概念理解:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块

标准包: 有__init__.py文件的文件夹和其他模块

快捷包:含有模块的文件夹,无__init__.py文件

引用其他模块的包:绝对引用,相对引用(需用到:点(.)取文件夹下级文件)

 

调用无论from ....import  还是 import   只要出现包名,必会先运行包内内置模块(__init__.py)再运行后面代码

快捷包同包下的模块也可以用

import 模块名  但其他包调用它时,只要他使用了这个模块名就会报错,解释器找不到它调用的模块


#要写    全包名.模块名   才不报错

 

总结:

调用标准包内模块,只要出现包名(用from也会),先运行它的内置模块(__init__.py)!!,同时还加载了它的函数,可以在后续调用

 

只要有模块内可执行代码,再引入这个模块,引入时会先运行!!

故使用模块,可打包成类或函数,来进行使用,避免使用混乱

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值