Python 3 中導入語句的演進
Python 3 對導入語句進行了重大更改,以提高清晰度並避免歧義。
親戚導入
在 Python 2 中,包內的隱式相對導入被廣泛使用。這意味著模組可以從同一包中的其他模組導入,而無需指定路徑。例如:
# Python 2 from my_module import MyClass
但是,在 Python 3 中,不再支援相對導入。相反,必須使用明確導入或絕對導入。這有助於防止混淆導入是相對導入還是絕對導入。
# Python 3 from .my_module import MyClass
星形導入
星形導入,使用 * 從模組導入所有符號,分別是Python 2 在模組和函數層級都允許。但是,在 Python 3 中,星型導入僅允許在模組層級進行。這有助於提高可讀性並減少潛在的命名空間衝突。
例如,在Python 2 中,允許使用以下內容:
# Python 2 def my_function(): from math import *
在Python 3 中,必須將其更改為:
# Python 3 def my_function(): from math import sin, degrees
透過了解import語句中的這些變化,開發人員可以確保他們的程式碼與Python 3 相容並避免歧義和潛在的問題錯誤。
以上是Python 3 導入語句與 Python 2 相比有何變化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!