首页 >后端开发 >Python教程 >Python 3 的导入语句有关相对导入和星型导入的主要变化是什么?

Python 3 的导入语句有关相对导入和星型导入的主要变化是什么?

Susan Sarandon
Susan Sarandon原创
2024-11-28 22:26:18476浏览

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