zoukankan      html  css  js  c++  java
  • 浅析 Python中__init__.py

    当采用IDE新建一个package时,IDE一般会自动生成一个__init__.py文件,那么这个文件有什么作用?
    我理解__init__.py 类似于Python中__init__(self)方法,类似于模块的构造函数,在对模块进行import时,会自动加载并解析__init__.py 文件。
    因此,可以利用__init__.py 对 package 进行一些操作。

    限制包的引出模块

    通过在__init__.py 文件中添加 all = [] 指定package 可以对外引出的 类 。

    添加package 中代码公用引入信息,减少重复代码

    如 logging 模块中 最外层代码中__init__.py中 存在

    import sys, os, time, io, traceback, warnings, weakref, collections
    

    添加package模块公用初始化信息

    类似于import 代码 添加模块初始化信息,减少代码重复。
    

    总之__init__.py 既是package的标志,也是一个py文件,且在import 模块时加载,因此可以将模块中通用的代码放入__init__py,也可以现在模块对外开放的信息。

  • 相关阅读:
    动态页面技术(JSP/EL/JSTL)
    JavaWeb核心之Servlet
    会话技术Cookie&Session
    待整理
    二进制中1的个数(python)
    矩形覆盖(python)
    变态跳台阶(python)
    跳台阶(python)
    斐波那契数列(python)
    旋转数组的最小数字(python/c++)
  • 原文地址:https://www.cnblogs.com/Finding-bugs/p/14362506.html
Copyright © 2011-2022 走看看