其他分享
首页 > 其他分享> > 通过在__init__.py中定义__all__变量,来简化from*import*的书写

通过在__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"))

 

标签:__,__.,py,myrandom,tu,ifacetools,import,TimeUtil
来源: https://www.cnblogs.com/moonpool/p/11333117.html