1. 程式人生 > >Python基礎筆記系列十:模塊

Python基礎筆記系列十:模塊

添加模塊 為我 odi 其它 clas def .py ont 需要

  本系列教程供個人學習筆記使用,如果您要瀏覽可能需要其它編程語言基礎(如C語言),why?因為我寫得爛啊,只有我自己看得懂!!

  • 模塊

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

  • 模塊引入
    python提供了很多第三方的模塊可以引入,python標準安裝包裏的模塊稱為標準庫。模塊的引入主要有以下三種:
    ①引入模塊
    import moduleName

    ②引入模塊下的函數

    from moduleName import function1 , function2 ,...

    ③引入模塊的所有函數

    from moduleName import *

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

    例子:計算25的平方根

    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()

    輸出:

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

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

    ~/|模塊    #文件夾模塊
    —————|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安裝目錄下即可)
    ③模塊打包(推薦)

Python基礎筆記系列十:模塊