zoukankan      html  css  js  c++  java
  • 通过在__init__.py中定义__all__变量,来简化from*import*的书写

     下图是一个带被引入使用的包的结构,包名比较长,给书写from*import*带来很多麻烦

    为了解决麻烦,在__init__.py编写了如下内容

    1 from .httputil import HTTPUtil
    2 from .jsonutil import JSONUtil
    3 from .redisutil import RedisUtil
    4 from .time import TimeUtil
    5 from .randomutil import myrandom
    6 
    7 __all__=["HTTPUtil","JSONUtil","RedisUtil","TimeUtil","myrandom"]

    该包被安装后,就可以使用如下的引入方式,来使用包内部的函数或方法

    1 from ifacetools import myrandom,TimeUtil
    2 
    3 print(myrandom.uuidWithHyphen())
    4 tu=TimeUtil.TimeUtil()
    5 print(tu.getTargetDays(-1,"%Y-%m-%d"))

    如果没有在__init__.py(在ifacetools包下)中编写上面的内容

    那么就必须如下使用了。会比较麻烦,如果需要引入的module有很多,那么就会对阅读编写带来困扰。

    from ifacetools.randomutil import myrandom
    from ifacetools.time import TimeUtil
    
    print(myrandom.uuidWithHyphen())
    tu=TimeUtil.TimeUtil()
    print(tu.getTargetDays(-1,"%Y-%m-%d"))
  • 相关阅读:
    线段的类
    计算三角形的类
    关于狗的类
    [poj2234] Matches Game
    bzoj[2655] calc
    拉格朗日插值和牛顿插值 菜鸟教程
    NOI模拟赛(3.15) sequence(序列)
    NOI模拟赛(3.13)Hike (远行)
    二分图讲解
    NOI模拟赛(3.8)Problem B
  • 原文地址:https://www.cnblogs.com/moonpool/p/11333117.html
Copyright © 2011-2022 走看看