日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python三种导入模块的方法和区别

發布時間:2025/3/20 python 8 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python三种导入模块的方法和区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法一:

import modname

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

用import語句導入模塊,就在當前的名稱空間(namespace)建立了一個到該模塊的引用.這種引用必須使用全稱,也就是說,當使用在被導入模塊中定義的函數時,必須包含模塊的名字。所以不能只使用 funcname,而應該使用 modname.funcname

方法二:

''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' from modname import funcname from modname import fa, fb, fc

或者

from modname import *

與第1種方法的區別:funcname 被直接導入到本地名字空間去了,所以它可以直接使用,而不需要加上模塊名的限定* 表示,該模塊的所有公共對象(public objects)都被導入到 當前的名稱空間,也就是任何只要不是以”_”開始的東西都會被導入。

modname沒有被定義,所以modname.funcname這種方式不起作用。并且,如果funcname如果已經被定義,它會被新版本(該導入模塊中的版本)所替代。如果funcname被改成指向其他對象,modname不能不會覺察到。

建議:
1)如果你要經常訪問模塊的屬性和方法,且不想一遍又一遍地敲入模塊名,使用 from module import
2)如果你想要有選擇地導入某些屬性和方法,而不想要其它的,使用 from module import
3)如果模塊包含的屬性和方法與你的某個模塊同名,你必須使用import module來避免名字沖突
4)盡量少用 from module import * ,因為判定一個特殊的函數或屬性是從哪來的有些困難,并且會造成調試和重構都更困難。

方法三:

內建函數__import__()

除了前面兩種使用import關鍵字的方法以外,我們還可以使用內建函數 __ import __ () 來導入 module。兩者的區別是,import 后面跟的必須是一個類型(type),而__import__()

的參數是一個字符串,這個字符串可能來自配置文件,也可能是某個表達式計算結果。例如:

mymodule = __import__ (’module_name’)

附注:

1)模塊的內容都放在一個模塊文件中,如 mymodule 的內容應該放在PYTHONPATH 目錄下的一個mymodule.py中,C實現的除外
2)包可以將幾個模塊名稱空間組織起來, 如A.b 就表示在包A中的一個子模塊b
可以單獨導入某一個子模塊,如Python文檔中給出的例子

import sound.effects.echo

這樣必須使用全稱對里面的對象進行引用,如:

sound.effects.echo.echofilter(input, output, delay=0.7, atten=4)

還可以使用下面的語句來加載echo子模塊

from Sound.Effects import echo

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

echo.echofilter(input, output, delay=0.7, atten=4)

不主張從一個包或模塊中用import * 導入所有模塊,因為這樣的通常會導致可讀性很差。
from Package import specific_submodule的用法并沒有錯,實際上這還是推薦的用法,除非導入的模塊需要使用其它包中的同名子模塊(the importing module needs to use submodules with the same name from different packages).

綜上所述,一般情況應該使用import , 但有幾個例外

1)module文檔告訴你要用from-import的
2)導入一個包組件。需要一個包里面的某個子模塊,一般用from A.b import c比import A.b.c 更方便 且不會冒混淆的危險.

總結

以上是生活随笔為你收集整理的python三种导入模块的方法和区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。