<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          淺析Python模塊的引入和調(diào)用

          共 2503字,需瀏覽 6分鐘

           ·

          2021-04-09 00:41

          點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注

          回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書

          與君離別意,同是宦游人。

          大家好,我是IT共享者,人稱皮皮。這篇文章我們來淺析Python模塊的引入和調(diào)用。

          一、前言

          Python中的模塊,有過C語言編程經(jīng)驗(yàn)的朋友都知道在C語言中如果要引用sqrt函數(shù),必須用語句#include引入math.h這個(gè)頭文件,否則是無法正常進(jìn)行調(diào)用的。

          那么在Python中,如果要引用一些其他的函數(shù),該怎么處理呢?

          在Python中有一個(gè)概念叫做模塊(module),這個(gè)和C語言中的頭文件以及Java中的包很類似,比如在Python中要調(diào)用sqrt函數(shù),必須用import關(guān)鍵字引入math這個(gè)模塊,下面就來了解一下Python中的模塊。

          說的通俗點(diǎn) :模塊就好比是工具包,要想使用這個(gè)工具包中的工具(就好比函數(shù)),就需要導(dǎo)入這個(gè)模塊。


          二、模塊引入

          1. import

          在Python中用關(guān)鍵字import來引入某個(gè)模塊,比如要引用模塊math,就可以在文件最開始的地方用import math來引入。

          形如 :

           import module1,mudule2...

          當(dāng)解釋器遇到import語句,如果模塊在當(dāng)前的搜索路徑就會(huì)被導(dǎo)入。

          在調(diào)用math模塊中的函數(shù)時(shí),必須這樣引用:

            模塊名.函數(shù)名

          為什么必須加上模塊名調(diào)用呢?

          因?yàn)榭赡艽嬖谶@樣一種情況:在多個(gè)模塊中含有相同名稱的函數(shù),此時(shí)如果只是通過函數(shù)名來調(diào)用,解釋器無法知道到底要調(diào)用哪個(gè)函數(shù)。所以如果像上述這樣引入模塊的時(shí)候,調(diào)用函數(shù)必須加上模塊名。

             import math
          #這樣會(huì)報(bào)錯(cuò) print sqrt(2)
          #這樣才能正確輸出結(jié)果 print math.sqrt(2)

          有時(shí)候我們只需要用到模塊中的某個(gè)函數(shù),只需要引入該函數(shù)即可,此時(shí)可以用下面方法實(shí)現(xiàn):

             from 模塊名 import 函數(shù)名1,函數(shù)名2....

          不僅可以引入函數(shù),還可以引入一些全局變量、類等。

          注意:

          1. 這種方式引入的時(shí)候,調(diào)用函數(shù)時(shí)只能給出函數(shù)名,不能給出模塊名,但是當(dāng)兩個(gè)模塊中含有相同名稱函數(shù)的時(shí)候,后面一次引入會(huì)覆蓋前一次引入。也就是說假如模塊A中有函數(shù)function( ),在模塊B中也有函數(shù)function( ),如果引入A中的function在先、B中的function在后,那么當(dāng)調(diào)用function函數(shù)的時(shí)候,是去執(zhí)行模塊B中的function函數(shù)。

                     2. 如果想一次性引入math中所有的東西,還可以通過from math import 來實(shí)現(xiàn)

          2. from…import

          Python的from語句讓你從模塊中導(dǎo)入一個(gè)指定的部分到當(dāng)前命名空間中。

          語法如下:

             from modname import name1[, name2[, ... nameN]]

          例如,要導(dǎo)入模塊fib的fibonacci函數(shù),使用如下語句:

             from fib import fibonacci

          注意:

          • 不會(huì)把整個(gè)fib模塊導(dǎo)入到當(dāng)前的命名空間中,它只會(huì)將fib里的fibonacci單個(gè)引入。

          3. from … import *

          把一個(gè)模塊的所有內(nèi)容全都導(dǎo)入到當(dāng)前的命名空間也是可行的,只需使用如下聲明:

             from modname import *

          注意:

          • 這提供了一個(gè)簡單的方法來導(dǎo)入一個(gè)模塊中的所有項(xiàng)目。然而這種聲明不該被過多地使用。

          4 . 定位模塊

          當(dāng)你導(dǎo)入一個(gè)模塊,Python解析器對(duì)模塊位置的搜索順序是:

          1. 當(dāng)前目錄

          2. 如果不在當(dāng)前目錄,Python則搜索在shell變量PYTHONPATH下的每個(gè)目錄。

          3. 如果都找不到,Python會(huì)察看默認(rèn)路徑。UNIX下,默認(rèn)路徑一般為/usr/local/lib/python/

          4. 模塊搜索路徑存儲(chǔ)在system模塊的sys.path變量中。變量里包含當(dāng)前目錄,PYTHONPATH和由安裝過程決定的默認(rèn)目錄。

          三、as 的三種用法

          1. with...as...

             第一種是和with結(jié)合使用,主要用于文件的讀寫操作,省去了關(guān)閉文件的麻煩。

          寫法:

          with open("文件路徑","讀寫方式") as 賦值變量:    #  執(zhí)行代碼塊

          實(shí)例:

          #test.pywith open("1.txt") as f:    print f.read()
          #1.txt(兩個(gè)文件在同一目錄下)

          運(yùn)行結(jié)果:

          2. 導(dǎo)入模塊起別名

          導(dǎo)入模塊是對(duì)模塊進(jìn)行重命名,也就是給模塊起一個(gè)別名。示例代碼在下方的第三點(diǎn)有演示。

          3. except結(jié)合使用

          第一種:給traceback模塊起別名為a

          示例代碼 :

          import traceback as atry:    while 1/0 < 0:        print True

          第二種:和except組合使用,將捕獲到的異常對(duì)象賦值給e。

          實(shí)例代碼 :

          except Exception as e:    print "e=",e    a.print_exc()

              

          四、總結(jié)

          本文詳細(xì)的講解了Python基礎(chǔ) ( 模塊 )的引入,調(diào)用 。介紹了常用的三種模塊。模塊時(shí)的需要注意的事項(xiàng),以及在實(shí)際操作中會(huì)遇到的問題,提供了解決方案。希望可以幫助你更好的學(xué)習(xí)Python。

          ------------------- End -------------------

          ------------------- End -------------------

          往期精彩文章推薦:

          瀏覽 32
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷在线观看免费视频 | 干逼特写 | 亚洲在线高清 | 自拍激情视频 | 穿着皮靴被c到高潮的网站 |