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

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

Susan Sarandon
发布: 2024-11-28 22:26:18
原创
475 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板