首頁  >  文章  >  後端開發  >  python中的import指的是什麼

python中的import指的是什麼

silencement
silencement原創
2019-06-22 15:32:4471570瀏覽

python中的import指的是什麼

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn