模塊導入限制

__all__spa

  __all__可用於模塊導入時限制,如:code

  
  from module import *blog

  此時被導入模塊module中class

    若定義了__all__屬性,則只有all內指定的屬性、方法、類可被導入
    若沒定義__all__屬性,則模塊內的全部將被導入test

 

使用示例import

  a.pymodule

    __all__ = ['test1']

    def test1():
        print("-----test1-----")


    def test2():
        print("-----test2-----")

  b.py方法

    from a import *

    test1()  #輸出:-----test1-----
    test2()  #報錯,name 'test2' is not defined

 

注意: __all__ 隻影響到了 from <module> import * 這種導入方式
    對於以下導入方式並無影響,仍然能夠從外部導入
    1) from <module> import <member>
    2) import <module>im

 

--------------------------------------------------------------------------------------------------------------------ember

相關文章
相關標籤/搜索