首頁 >後端開發 >Python教學 >Python 3 的導入語句有關相對導入和星型導入的主要變化是什麼?

Python 3 的導入語句有關相對導入和星型導入的主要變化是什麼?

Susan Sarandon
Susan Sarandon原創
2024-11-28 22:26:18478瀏覽

What are the Key Changes to Python 3's Import Statements Regarding Relative and Star Imports?

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

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