为什么在Python中导入星号是一个坏习惯
在Python中导入一个模块的所有方法是不好的,因为有以下几个原因。
- 很难找到父模块中我们在程序中使用的方法。
- 我们不能使用方法名称来创建自己的函数。
让我们来看一个例子。下面我们在 sample.py 中编写一个名为 add 的函数。
## sample.py文件
def add(a, b):
return a + b
阅读更多:Python 教程
例子
将上面的文件保存在与下面的Python文件同一目录中。
## 假设我们有一个名为sample的模块
从样本导入*
def add(*nums):
return sum(nums)
print(add(1, 2, 3, 4, 5))
输出
如果运行上面的程序,将生成以下结果。
15
如果我们在 sample 包中也有同名的 add 方法,那么在大型程序中找到确切的方法将会很困难。我们还可能因为参数而出现错误。
例子
上面的程序调用了局部函数而不是 sample 包中的方法。如果我们要调用 sample 包中的方法,则必须如下导入 sample 。
## 假设我们有一个名为sample的模块
导入sample
def add(*nums):
return sum(nums)
print(sample.add(1, 2))
输出
如果运行上面的程序,将生成以下结果。
3
Python允许我们根据需要导入模块。但是,在大型程序中,方法和用户定义函数的名称会使我们感到困惑。如果您能够管理方法和用户定义函数的名称,则可以根据需要导入它们。
极客教程