python 入門學習---模組匯入三種方式及中文註釋

金少輝發表於2015-01-05

點選投票 =我已參加2014“CSDN部落格之星”的評選,如我的文章對您有幫助,請給我投上寶貴的一票。在此,感謝各位的支援。

Python 有三種模組匯入函式
1、 使用import 匯入模組 import modname : 模組是指一個可以互動使用,或者從另一Python 程式訪問的程式碼段。只要匯入了一個模組,就可以引用它的任何公共的函式、類或屬性。模組可以通過這種方法來使用其它模組的功能。 用import語句匯入模組,就在當前的名稱空間(namespace)建立了一個到該模組的引用.這種引用必須使用全稱,也就是說,當使用在被匯入模組中定義的函式時,必須包含模組的名字。所以不能只使用 funcname,而應該使用 modname.funcname.

注意:可加入下面的使Python支援中文註釋

 #coding:gbk或#coding:utf-8或##-*- coding : gbk -*-

匯入系統的模組
比如我在家目錄下建立一個m.py的檔案,我們匯入了許多的系統模組,比如time,string等等。這邊就類似c++裡面的include

#!/bin/env python  
import time   
import string
import re
import socket
import threading

time.sleep(10)

print "java"
  • 匯入私有的模組

m.py檔案

#!/bin/env python
#coding:gbk 
#coding:utf-8
#上面的載入是支援中文註釋
def plus(a ,b):
#"""XXX""" 是函式的說明或使用  

"""this is a test +"""
a = a+b
return a+b

使用import 載入m.py模組載入
#!/bin/env python #coding:gbk #coding:utf-8 "利用sys模組匯入指定Python檔案的路徑" import sys sys.path.append("./") "另外一種匯入Python檔案"
from m import plus
print plus(12,3)

print help(plus)

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 * ,因為判定一個特殊的函式或屬性是從哪來的有些困難,並且會造成除錯和重構都更困難。

#!/bin/env python
#coding:gbk
#coding:utf-8
"利用sys模組匯入指定Python檔案的路徑"
import sys
sys.path.append("./")
"另外一種匯入Python檔案"
from m import plus

print plus(12,3)

print help(plus)

3、使用內斂函式import 除了前面兩種使用import關鍵字的方法以外,我們還可以使用內建函式 import() 來匯入 module。兩者的區別是,import 後面跟的必須是一個型別(type),而import() 的引數是一個字串,這個字串可能來自配置檔案,也可能是某個表示式計算結果。例如 mymodule = import (’module_name’) 附註: 1)模組的內容都放在一個模組檔案中,如 mymodule 的內容應該放在PYTHONPATH 目錄下的一個mymodule.py中,C實現的除外 2)包可以將幾個模組名稱空間組織起來, 如A.b 就表示在包A中的一個子模組b

#!/bin/env python
#coding:gbk
#coding:utf-8
"利用sys模組匯入指定Python檔案的路徑"
import sys
sys.path.append("./")
"另外一種匯入Python檔案"
my = __import__("m")

print my.plus(12,3)

print help(my.plus)    

參考資料:

1、http://www.cnblogs.com/allenblogs/archive/2011/11/15/2055149.html 2、http://blog.csdn.net/chenguolinblog/article/details/11521611

相關文章