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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM