【发布时间】:2012-10-17 04:17:24
【问题描述】:
我正在模块 mod1 的类中创建一个方法,并按如下方式调用它:
class blahblah:
def foobar(self, bvar, **dvar)
////
return dvar
并将其称为:
obj1 = mod1.blahblah()
dvar1 = obj1.foobar(True, **somedictionary)
它会抛出一个Attribute error: blahblah has no attribute named foobar
你能帮我吗?提前致谢
【问题讨论】:
-
显然,无论出于何种原因,您都没有发布您实际使用的代码。没关系。但根据你的帖子,没有错。您确定您的真实代码中没有拼写错误(也许您不小心将
foobar拼成了fubar等)? -
只有当
foobar不是blahblah中定义的方法时才会发生此错误。由于您断言它是这样定义的,因此您不应该看到此错误。您确定foobar在您的真实代码中定义在blahblah内吗? -
您是否定义了两次
blahblah?一次定义了foobar,一次没有? (即覆盖您之前的定义) -
@user1778309 请贴出真实代码的相关摘录。
-
你假设是真的,实际上是假的。看看
dir(mod1.blahblah)(是foobar吗?),dir(obj1)(是foobar吗?),obj1.__class__(是mod1.blahblah?),obj1.__module__(是mod1吗?等。
标签: python attributeerror