为什么在 Python 中导入星号是一个坏主意


从模块中导入所有方法到 **Python** 中是一个坏主意,原因如下。

  • 很难找到我们在程序中使用的该方法所属的父模块。
  • 不允许我们用方法名来创建自己的函数。

让我们看一个例子。在下面,我们在 **sample.py** 中编写了一个名为 **add** 的函数。

## sample.py file
def add(a, b):
return a + b

示例

将上述文件保存到与以下 Python 文件相同的目录中。

## let's assume we have module called sample
from sample import *

def add(*nums):
   return sum(nums)

print(add(1, 2, 3, 4, 5))

输出

如果运行上述程序,将生成以下结果。

15

如果我们在 **sample** 包中具有相同名称为 **add** 的方法,那么在大型程序中很难找到该方法的准确名称。我们还可能会遇到参数错误。

示例

上述程序调用了本地函数而不是 **sample** 包中的方法。如果要调用 **sample** 包中的方法,则必须按如下方式导入 **sample**。

## let's assume we have module called sample
import sample

def add(*nums):
   return sum(nums)

print(sample.add(1, 2))

输出

如果运行上述程序,将生成以下结果。

3

Python 允许我们按需导入模块。但是,在大型程序中,我们会对方法和用户定义函数的名称感到困惑。如果可以管理方法和用户定义函数的名称,则可以根据需要导入它们。

更新于: 2020-06-29

467 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.