【发布时间】:2020-12-12 23:56:51
【问题描述】:
当我在主文件(名为 INPUT.py)中打印函数的结果时出现错误。这些函数在另一个文件(名为 ENGINE.py)中创建。错误是:AttributeError:模块'ENGINE'没有属性'cross_section' 我不明白为什么会出现这样的错误。
这里是代码示例:
#-- 主文件:INPUT.py
class Duct:
def __init__(self, width, height):
self.width = width
self.height = height
Duct_ret = Duct(0.1, 0.1)
Duct_ret.width= 0.4
Duct_ret.height= 0.3
import ENGINE as EN
print(EN.cross_section)
#-- 引擎文件:ENGINE.py
from INPUT import width, height
def cross_section(self,):
c_s=height*width
return c_s
错误:AttributeError:模块“ENGINE”没有属性“cross_section”
【问题讨论】:
-
这有很多问题。
cross_section格式错误,因为它有一个虚假的逗号,而且它不在一个类中,所以不应该引用 self。此外,从 INPUT.py 导入宽度和高度是无意义的和循环的。您应该将这些作为参数传递给 cross_section 函数。另外,您没有正确调用横截面,您只是打印函数本身,而不是被调用函数的结果
标签: python function input attributes arguments