尝试使用导入模块时出现 AttributeError

AttributeError when attempting to use imported module

#in Sum.py 模块

       def sum(a,b):
           c=a+b
           print("ans=",c)

#in main.py 模块

       import Sum
       Sum.sum(1,2)
---------------------------------------------------------------------------
 AttributeError                            Traceback (most recent call last)
 <ipython-input-15-d8f21a3fe455> in <module>
  ----> 1 Sum.sum(1,2)

 AttributeError: module 'Sum' has no attribute 'sum'

我收到属性错误。这是什么意思?我的代码有问题吗

确保,这里的 Sum 是文件名而不是 class(因此没有属性)。此外,您正在文件 Sum.py.

中使用定义的函数

前提是您的所有文件都在同一个文件夹中:

folder_1:
|--main.py
|--Sum.py

在您的 main.py 中,您必须按以下方式导入它:

from Sum import sum
sum(1,2)

如果文件夹结构的顺序如下:

-main.py
-folder_1
 |---Sum.py

可以通过在包含 Sum.py 文件的文件夹中指定空 __init__.py 文件来完成。

看起来像这样:

-main.py
-folder_1
 |---Sum.py
 |---__init__.py

并且您的导入应该如下 main.py:

from folder_1.Sum import sum
sum(1,2)