Python基礎筆記系列十:模塊

  本系列教程供我的學習筆記使用,若是您要瀏覽可能須要其它編程語言基礎(如C語言),why?由於我寫得爛啊,只有我本身看得懂!!java

  • 模塊

    #1.類比於java中的jar包,模塊能讓你可以有邏輯地組織你的Python代碼段。
    #2.把相關的代碼分配到一個模塊裏能讓你的代碼個更好用,更易懂。
    #3.模塊也是Python對象,具備隨機的名字屬性用來綁定或引用。
    #4.簡單來講,模塊就是一個保存了Python代碼的文件。模塊能自定義函數,類和變量。模塊裏也能包含可執行的代碼。python

  • 模塊引入
    python提供了不少第三方的模塊能夠引入,python標準安裝包裏的模塊稱爲標準庫。模塊的引入主要有如下三種:
    ①引入模塊
    import moduleName

    ②引入模塊下的函數web

    from moduleName import function1 , function2 ,...

    ③引入模塊的全部函數編程

    from moduleName import *

    其中第一種引入模塊的方式在使用模塊時須要帶上模塊名(moduleName.methodName),如math.sqrt();
    引入模塊後就可使用模塊裏的方法了。

    例子:計算25的平方根app

    1 import math 2 r = math.sqrt(25) 3 print r

    若是模塊或者函數名字過長能夠在import後使用as給該模塊取個假名,以後能夠經過「假名.函數」來使用模塊裏的函數。
    例子:
    編程語言

    1 import webbrowser as myweb 2 myweb.open_new_tab("http://www.cnblogs.com/hyyq/")

     

  • 使用自定義模塊
    任何Python程序hello.py(無主函數)均可以做爲一個模塊被另一個Python程序test.py引入使用。
    例子:
    hello.py :函數

    1 #incoding:utf-8
    2 def hello(): 3     print 'import this module!'
    4 def bokeyuan(): 5     print 'http://www.cnblogs.com/hyyq/'

    test.py :學習

    1 #incoding:utf-8
    2 import hello #文件名做爲模塊名,不須要後綴.py哦~
    3 hello.hello() 4 hello.bokeyuan()

    輸出:this

    1 import this module! 2 http://www.cnblogs.com/hyyq/

    以上引入模塊的程序和模塊程序須要在同一目錄下,侷限性很大。若是想讓模塊能夠被任何文件引用,能夠調用os.path.append(模塊文件所在目錄)添加模塊所在目錄到系統裏去。
    例子:假設文件結構spa

    ~/|模塊    #文件夾模塊
    —————|test.py #調用‘hello’模塊的程序文件
    —————|hello #hello文件夾
    ———————|hello.py #模塊文件
    ———————|hello.pyc #模塊字節碼文件

    test.py:

    #incoding:utf-8
    import sys sys.path.append('./hello') #當前目錄下的hello文件夾
    import hello #文件名做爲模塊名,不須要後綴.py哦~
    hello.hello() hello.bokeyuan()

    這種將文件目錄加入系統裏這種方式也有侷限性,而且用起來也很麻煩。通常地,通用的告知python解釋器到哪兒去找模塊文件的方法有三:
    ①PYTHONPATH環境變量裏增長模塊文件路徑
    ②.pth文件,文件裏列出全部模塊文件所在路徑(放在python安裝目錄下便可)
    ③模塊打包(推薦)

相關文章
相關標籤/搜索