首页 > 解决方案 > 使用模块中的类没有属性错误?

问题描述

在文件中beam.py我写了一个类如下:

class beam(object):
    def __init__(self, u0, dT, maxT):
        self.u0 = u0
        self.dT = dT
        self.maxT = maxT

    def nMmethod(self):
        print(self.u0, self.dT, self.maxT)

完成后,我在不同的脚本中使用这个类:

import beam as bm

bm.nMmethod()

但它会抛出一个 AttributeError:

Traceback (most recent call last):
  File "./callBeam.py", line 3, in <module>
    bm.nMmethod()
AttributeError: module 'beam' has no attribute 'nMmethod'

但是我确实nMmethodbeam课堂上定义了?

标签: python

解决方案


import beam as bm

此行导入模块beam,然后将其重命名为bm. 该模块bm没有名为 的方法nMmethod。该类有一个名为 的方法,但是当您访问该类时您并没有访问该类beamnMmethodbm.nMmethod

尝试创建一个beam实例并调用nMmethod它。

x = bm.beam(1, 2, 3) #or whatever the arguments should be
x.nMmethod()

推荐阅读