为什么在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

如果我们在样本程序包中使用了称为add的相同方法,那么我们将很难找到在大型程序中命名的确切方法。我们还可以得到参数错误。

示例

上面的程序称为局部函数,而不是示例包方法。如果要调用样本包方法,则必须按以下方式导入样本

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

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

print(sample.add(1, 2))

输出结果

如果您运行上述程序,它将产生以下结果。

3

Python允许我们根据需要导入模块。但是,在大型程序中,我们会与方法名称和用户定义函数混淆。如果可以管理方法和用户定义函数的名称,请在方便时导入它们。