當前位置:成語大全網 - 書法字典 - python導入模塊的方法有哪些?

python導入模塊的方法有哪些?

方法壹

導入模塊名

模塊是可以交互使用或從另壹個Python程序訪問的代碼段。只要導入了壹個模塊,就可以引用它的任何公共函數、類或屬性。模塊可以以這種方式使用其他模塊的功能。

用import語句導入模塊會在當前命名空間中建立對該模塊的引用。該引用必須使用全名,也就是說,當使用導入模塊中定義的函數時,它必須包括模塊的名稱。所以不能只用funcname,要用modname.funcname。

方法2

從modname導入funcname

從modname導入fa、fb、fc

或者

從modname導入*

與1方法的區別:funcname直接導入到本地命名空間中,因此可以直接使用,無需添加模塊名稱的限定*。模塊的所有公共對象都被導入到當前命名空間中,也就是說,任何不以“_”開頭的對象都將被導入。

Modname未定義,因此modname.funcname的此方法不起作用。此外,如果funcname已被定義,它將被新版本(導入模塊中的版本)替換。如果funcname被更改為指向其他對象,modname會忍不住註意到。

建議:

1)如果要經常訪問模塊的屬性和方法,並且不想反復鍵入模塊名稱,請使用“從模塊導入”。

2)如果您想選擇性地導入壹些屬性和方法,而不是其他屬性和方法,請使用從模塊導入。

3)如果某個模塊包含與您的某個模塊同名的屬性和方法,則必須使用導入模塊來避免名稱沖突。

4)盡可能少地使用from module import *,因為很難確定某個特殊函數或屬性來自何處,並且它會使調試和重構更加困難。

方法3

內置函數__import__()

除了使用import關鍵字的前兩種方法外,我們還可以使用內置函數__import__()來導入模塊。它們之間的區別是import後面必須跟壹個類型,而__import__()的參數是壹個字符串,它可能來自配置文件,也可能是表達式計算的結果。例如:

mymodule = _ _ import _ _(‘module _ name‘)

註意:

1)模塊的內容都放在壹個模塊文件中,例如mymodule的內容應該放在PYTHONPATH目錄下的壹個mymodule.py中,c實現的除外。

2)壹個包可以組織幾個模塊名稱空間。例如,A.b表示包a中的子模塊B。

您可以單獨導入子模塊,例如Python文檔中給出的示例。

導入聲音。效果。回聲

這樣,您必須使用全名來引用內部的對象,例如

聲音。效果。回聲。回聲濾波器(輸入、輸出、延遲= 0。7、衰減=4)

您還可以使用以下語句來加載echo子模塊。

從聲音。效果導入回聲

它也可以在沒有包前綴的情況下使用,因此可以按如下方式調用它:

echo.echofilter(輸入、輸出、延遲=0.7、衰減=4)

不建議使用import *從包或模塊中導入所有模塊,因為這通常會導致可讀性較差。

從包導入specific _ submodule的用法沒有錯。事實上,仍然建議這樣做,除非導入的模塊需要使用其他包中同名的子模塊。

綜上所述,壹般情況下應該使用import,但也有幾個例外。

模塊文檔告訴您使用從導入

2)導入包組件。您需要壹個包中的子模塊。壹般來說,從A.b導入c比導入A.b.c更方便,而且不會有混淆的風險。