教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Python模塊如何導入__all__屬性?

更新時間:2021年06月16日13時49分 來源:傳智教育 瀏覽次數:

傳智教育-一樣的教育,不一樣的品質

Python模塊的開頭通常會定義一個__all__屬性,該屬性實際上是一個元組,該元組中包含的元素決定了在使用from…import 語句導入模塊內容時通配符所包含的內容。 如果__all__中只包含模塊的部分內容,那么from…import *語句只會將__all__中包含的部分內容導入程序。

假設當前有一個自定義模塊calc.py,該模塊中包含計算兩個數的四則運算函數,具體代碼如下:

def add(a, b):
    return a + b
def subtract(a, b):
    return a - b
def multiply(a, b):
    return a * b
def divide(a, b):
    if (b):
        return a / b
    else:
        print("error")
在calc模塊中設置__all__屬性為["add", "subtract"],此時其他Python文件導入calc模塊后,只能使用calc模塊中的add()與subtract()函數,示例代碼如下:
__all__ = ["add", "subtract"]
通過“from ...import *”方式導入calc模塊,然后使用
該模塊中的add()函數與subtract()函數,具體如下。
from calc import *
print(add(2, 3))
print(subtract(2, 3))
運行程序,結果如下所示。
5
-1
下面嘗試使用calc模塊的multipty()和divide()函數,具體代碼如下.
print(multipty(2, 3))
print(divide(2, 3))
運行程序,出現如下所示的異常信息:
NameError: name 'multiply' is not defined





猜你喜歡:

什么是Python模塊?Python模塊有幾類?

Python模塊的兩種導入方式

Python模塊有哪些?怎么使用?

如何通過Anaconda管理Python包?

傳智教育Python+大數據開發(fā)培訓

0 分享到:
和我們在線交談!