背景
在Python中,我們可以把模塊(module)理解為代碼的組織單元,一個模塊通常包含若干函數、類、變量等等。一個代碼文件就是一個模塊,而多個模塊可以組合成一個Python程序。
正文
一、import基本用法
在Python中,我們可以使用import語句來引入一個模塊的功能。
import 模塊名
這樣一來,我們就可以使用被引入模塊中的變量、類、函數等等了!
比如,我們可以引入Python內建的math庫:
import math
print(math.sin(math.pi / 2))
輸出:1.0
二、from … import 語句
除了使用import語句,我們也可以使用from…import語句來引入模塊的部分內容。
比如,我們可以這樣引入math庫中的sin函數:
from math import sin
print(sin(math.pi / 2))
輸出:1.0
需要注意的是,使用from…import語句引入的變量、函數等等不需要加上模塊名前綴。
三、as關鍵字
在使用import和from…import語句時,我們可以使用as關鍵字給被引入的模塊、函數、變量等等取別名。
比如,我們可以這樣引入math庫並給它取一個簡單的別名:
import math as m
print(m.sin(m.pi / 2))
輸出:1.0
又比如,我們可以這樣引入sin函數並給它取一個簡單的別名:
from math import sin as s
print(s(math.pi / 2))
輸出:1.0
四、__init__.py文件
在Python中,一個文件夾被視為一個包,而裡面的Python文件就是這個包的模塊。在Python 2.x中,我們需要在這個文件夾中加入一個空文件:__init__.py。
而在Python 3.x中,只要是一個文件夾下面有一個Python文件,它就是一個包了,不需要再加上__init__.py文件了。
五、包的相對導入和絕對導入
在Python中,模塊之間的導入一般分為兩種:相對導入和絕對導入。
相對導入:使用相對路徑,通過”.”表示當前模塊,”..”表示父級模塊。
from . import module1 #從當前包中導入module1
from ..subpackage2 import module2 #從父級包的subpackage2中導入module2
絕對導入:使用絕對路徑,從項目的頂層目錄開始指定模塊的路徑。需要在Python 2.x中加上from __future__ import absolute_import語句。
from project.package import module3 #從項目的頂層目錄中導入package中的module3
六、動態導入
有時候,我們需要在程序運行時才能確定要導入的模塊,這時候,就可以使用Python的動態導入功能。
比如,我們可以這樣動態導入一個模塊並使用其中的函數:
import importlib
module_name = "math"
module = importlib.import_module(module_name)
print(module.sin(module.pi / 2))
輸出:1.0
結論
Python中import的用法是非常靈活的,可以通過使用不同的語句來導入模塊的各種內容,也可以使用as關鍵字給它們取別名。在實際編程中,我們需要結合具體情況選擇合適的導入方式。
原創文章,作者:XWBB,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/147340.html