Python學(xué)習(xí)筆記之模塊

本篇主要介紹Python模塊和如何將模塊導(dǎo)入編程環(huán)境中撼唾,模塊是用來組織代碼的方法。

模塊(module)

模塊支持從邏輯上組織Python代碼音婶。當(dāng)程序員編寫的代碼量變得相當(dāng)大的時(shí)候慨畸,就可以把代碼分成一些有組織的代碼段,彼此之間可以交互衣式〈缡浚可以是一個(gè)包含數(shù)據(jù)成員和方法的類,也可以是一組相關(guān)但彼此獨(dú)立的操作函數(shù)碴卧。這些代碼之間是共享的弱卡。把其他模塊中屬性附加到你的模塊中的操作叫做導(dǎo)入(import),那些自我包含且有組織的代碼片段稱為模塊(module)住册。

命名空間(namespace)

命名空間(namespace)就是一個(gè)從名稱到對(duì)象的關(guān)系映射集合婶博。

在程序執(zhí)行期間有三個(gè)活動(dòng)的命名空間,分別為局部命名空間(local namespace)荧飞、全局命名空間(global namespace)凡人、內(nèi)建名稱空間(build-in namespace)。

我們可以使用globals()和locals()內(nèi)建函數(shù)判斷一個(gè)名字屬于哪一個(gè)命名空間叹阔。

globals()和locals()內(nèi)建函數(shù)分別返回調(diào)用者全局和局部命名空間的字典挠轴。

命名空間與變量作用域

變量作用域除了指出名字與對(duì)象間的映射關(guān)系,還指出了從用戶代碼的哪些物理位置可以訪問到這些名字耳幢。

在程序的執(zhí)行過程中岸晦,局部命名空間和作用域會(huì)隨著函數(shù)調(diào)用而變化。

名稱的查找

當(dāng)函數(shù)、變量等信息發(fā)生重名時(shí)委煤,Python會(huì)按照"local namespace -> global namespace -> build-in namespace"的順序進(jìn)行搜索用戶所需元素堂油,并且以第一個(gè)找到此元素的namespace為準(zhǔn)。

路徑搜索

在模塊的導(dǎo)入時(shí)碧绞,需要一個(gè)“路徑搜索”的過程府框,即在文件系統(tǒng)“預(yù)定義區(qū)域”中查找要導(dǎo)入的模塊,如果沒有找到讥邻,將會(huì)返回錯(cuò)誤ImportError迫靖。

搜索路徑是指待查找的一組目錄地址。
路徑搜索是指查找某個(gè)文件的操作兴使。

導(dǎo)入模塊

  • 使用import語句導(dǎo)入模塊系宜。

         import module  # 單個(gè)模塊導(dǎo)入
      import module1, module2.... # 多個(gè)模塊導(dǎo)入
    
  • 使用from-import語句導(dǎo)入模塊。

      from module import name
    
  • 拓展import語句(as)

      from module import name as yourname
      可以通過這種方法來替換模塊中的某個(gè)對(duì)象的名稱
    

注意: import語句導(dǎo)入模塊的方法是加載這一模塊中的全部對(duì)象到你的程序中发魄,而from-import語句簡單地導(dǎo)入你所要使用的具體的對(duì)象盹牧,比較節(jié)省內(nèi)存。

導(dǎo)入順序

建議按照以下順序進(jìn)行導(dǎo)入相關(guān)模塊励幼。

  1. Python標(biāo)準(zhǔn)庫模塊
  2. Python第三方模塊
  3. 應(yīng)用程序自定義模塊

關(guān)于__future__

由于改進(jìn)汰寓、新特性和當(dāng)前特性增強(qiáng),某些變化會(huì)影響到當(dāng)前功能苹粟,為了讓Python程序員為新事物做好準(zhǔn)備有滑,Python實(shí)現(xiàn)了future指令。

可以使用from-import語句導(dǎo)入新特性嵌削。

from __future__ import new_feature

reload()

reload()內(nèi)建函數(shù)可以重新導(dǎo)入一個(gè)已經(jīng)導(dǎo)入的模塊毛好。

reload(module)

這個(gè)方法是模塊的全部導(dǎo)入以及模塊必須成功導(dǎo)入。函數(shù)的參數(shù)是模塊名稱苛秕。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肌访,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子艇劫,更是在濱河造成了極大的恐慌场靴,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件港准,死亡現(xiàn)場離奇詭異,居然都是意外死亡咧欣,警方通過查閱死者的電腦和手機(jī)浅缸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來魄咕,“玉大人衩椒,你說我怎么就攤上這事。” “怎么了毛萌?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵苟弛,是天一觀的道長。 經(jīng)常有香客問我阁将,道長膏秫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任做盅,我火速辦了婚禮缤削,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吹榴。我一直安慰自己亭敢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布图筹。 她就那樣靜靜地躺著帅刀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪远剩。 梳的紋絲不亂的頭發(fā)上扣溺,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音民宿,去河邊找鬼娇妓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛活鹰,可吹牛的內(nèi)容都是我干的哈恰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼志群,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼着绷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起锌云,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤荠医,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后桑涎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體彬向,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年攻冷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了娃胆。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡等曼,死狀恐怖里烦,靈堂內(nèi)的尸體忽然破棺而出凿蒜,到底是詐尸還是另有隱情,我是刑警寧澤胁黑,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布废封,位于F島的核電站,受9級(jí)特大地震影響丧蘸,放射性物質(zhì)發(fā)生泄漏漂洋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一触趴、第九天 我趴在偏房一處隱蔽的房頂上張望氮发。 院中可真熱鬧,春花似錦冗懦、人聲如沸爽冕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽颈畸。三九已至,卻和暖如春没讲,著一層夾襖步出監(jiān)牢的瞬間眯娱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工爬凑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留徙缴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓嘁信,卻偏偏與公主長得像于样,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子潘靖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容