首頁 > 後端開發 > Python教學 > python 入門學習---模組導入三種方式及中文註釋

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

大家讲道理
發布: 2016-11-07 09:53:40
原創
1799 人瀏覽過

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 stringimport reimport socketimport 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
#!/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


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板