PyCharm中的package和directory有什么不一样

先理解一下几个概念:

 

1.模块就是指一个py文件,模块的英文翻译为module

2.包是指多个py文件,包的英文翻译为Package

3.Dictionary在pycharm中就是一个文件夹,放置资源文件等

 

Dictionary和Package区别如下:

1.Dictionary中不包含_ _ init.py_ _文件;

2.Package中是包含_ _ init.py_ _文件的

这个_ _ init.py_ _文件的作用,有的人说是可以支持import x 或者  from xxx import x 这样的导包操作,而且仅会在第一次导包时,把这个x 里面的代码都执行一次,这个我倒是没试过,我在想如果没有这个_ _ init.py_ _文件,就不能导包了吗?我有时间了试一下;    

我自己试过的一个结论是,如果你在_ _ init.py_ _文件里写内容了,比如写个print("测试"),那么你在执行当前包(Package)下的任意py文件时,都会把print("测试")  执行一次,类似于一个前置操作一样,但是这个_ _ init.py_ _文件一般默认是空的;

还有人说,执行import package_name ,如果package_name中的__init__.py文件中导入了具体模块module_name,那么可以用package_name.module_name来使用module_name中的功能,否则是不行的,这个我也没试过;我在想要是我这个文件为空,岂不是不能导包了? 事实上这个__init__.py文件默认就是空的,并不影响我导包,大家可以自己试一试;


 
原文地址:https://www.cnblogs.com/ojbk6943/p/14387086.html