Python 3 中導入語句的變更:了解相對導入和星號導入
在Python 3 中,對導入語句進行了重大更改提高清晰度並避免潛在的歧義。本文深入研究了這些變更並解釋了它們對程式設計師的影響。
相對導入
相對導入可讓您匯入相對於目前模組位置的模組。在 Python 2 中,包內隱式允許相對導入。但是,在 Python 3 中,此功能已被棄用。現在支援絕對導入和顯式相對導入。
絕對導入指定模組的完整路徑,例如:
import mypackage.mymodule
明確相對導入使用.和.. 語法指定相對路徑,如:
from .mymodule import MyModule
此路徑表示mymodule 與目前模組在同一目錄
Star Imports
星型導入(從模組導入所有名稱)以前在 Python 2 的模組層級和函數內是允許的。但是,在 Python 中3,星號導入僅在模組級程式碼中允許。
例如,在 Python 2 中,您可以在函數中匯入整個數學模組:
def sin_degrees(x): from math import * return sin(degrees(x))
在 Python 3 中,此不再有效。相反,您可以匯入所需的特定函數:
def sin_degrees(x): from math import sin, degrees return sin(degrees(x))
或者,您可以在模組層級匯入整個模組:
from math import * def sin_degrees(x): return sin(degrees(x))
這些變更旨在提高清晰度,減少歧義,並在Python 3 及更高版本中強制執行模組和套件管理的最佳實務。
以上是Python 3 的導入語句有關相對導入和星型導入的主要變化是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!