官术网_书友最值得收藏!

There's more...

If __all__ is not defined in __init__.py, then import * only imports the modules within the specified package, not all sub-packages or their modules. For example, from video.formats import * only imports the video formats; the modules in the effects/ directory will not be included.

This is a best practice for Python programmers: as the Zen of Python (https://www.python.org/dev/peps/pep-0020/) states, explicit is better than implicit. Thus, importing a specific sub-module from a package is a good thing, whereas import * is frowned upon because of the possibility of variable name conflicts.

Packages have the __path__ attribute, which is rarely used. This attribute is a list that has the name of the directory where the package's __init__.py file is located. This location is accessed before the rest of the code for the file is run.

Modifying the package path affects future searches for modules and sub-packages within the package. This is useful when it is necessary to extend the number of modules found during a package search.

主站蜘蛛池模板: 三江| 天津市| 逊克县| 和林格尔县| 昌乐县| 鱼台县| 青岛市| 邓州市| 文水县| 延边| 昆明市| 集贤县| 津南区| 阳江市| 宜黄县| 吴堡县| 天台县| 临桂县| 武汉市| 石楼县| 中江县| 大宁县| 莱西市| 苍梧县| 姚安县| 白城市| 长宁县| 灵台县| 无极县| 东丽区| 彰武县| 张家港市| 神木县| 大冶市| 井冈山市| 那曲县| 漯河市| 麻城市| 宁波市| 宣武区| 陇川县|