Python中的import語句是用來呼叫模組的。
一、module
通常模組為一個文件,直接用import來導入就好了。可以作為module的檔案類型有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"。
二、package
通常套件總是一個目錄,可以使用import導入包,或from import來導入套件中的部分模組。包目錄下為首的一個文件便是 __init__.py。然後是一些模組檔案和子目錄,假如子目錄中也有 __init__.py 那麼它就是這個包的子包了。
模組
可以使用import語句將一個原始程式碼檔案作為模組導入.例如:
# file : spam.py a = 37 # 一个变量 def foo: # 一个函数 print "I'm foo" class bar: # 一个类 def grok(self): print "I'm bar.grok" b = bar() # 创建一个实例
使用import spam 語句就可以將這個檔案當作模組導入。系統在匯入模組時,要做以下三件事:
1.為原始碼檔案中定義的物件建立一個名字空間,透過這個名字空間可以存取到模組中定義的函數及變數。
2.在新建立的名字空間裡執行原始碼檔案.
3.建立一個名為原始碼檔案的對象,該物件引用模組的名字空間,這樣就可以透過這個物件存取模組中的函數及變量,如:
import spam # 导入并运行模块 spam print spam.a # 访问模块 spam 的属性 spam.foo() c = spam.bar() ...
用逗號分割模組名稱就可以同時導入多個模組:
import socket, os, regex模組導入時可以使用 as 關鍵字來改變模組的引用對象名字:
import os as system import socket as net, thread as threads system.chdir("..") net.gethostname()
使用from語句可以將模組中的對象直接導入到當前的名字空間. from語句不創建一個到模組名字空間的引用對象,而是把被導入模組的一個或多個物件直接放入目前的名字空間:
from socket import gethostname # 将gethostname放如当前名字空间 print gethostname() # 直接调用 socket.gethostname() # 引发异常NameError: socket
from語句支援逗號分割的對象,也可以使用星號(*)代表模組中除下劃線開頭的所有物件:
#from socket import gethostname, socket from socket import * # 载入所有对象到当前名字空间
以上是python中的import指的是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!