python - super() 没有属性父方法
问题描述
编辑:此错误特定于 AWS Lambda
您好,我无法弄清楚为什么我无法从孩子的方法中调用父母的方法。
我有一个父类定义在classes/IDKKKK.py
class IDKKKK:
def foobar(self, foo, bar):
return { 'foo': foo, 'bar': bar}
def foobar2(self, fo, ob, ar):
return {'foobar': fo+ob+ar}
我有一个子类定义在classes/OMGGG.py
from classes.IDKKKK import IDKKKK
class OMGGG(IDKKKK):
def childFoo(self):
idc = {}
return super().foobar(idc, super().foobar2('idk', ' what is ', 'going on'))
我创建了一个实例OMGGG
并调用childFoo()
并super() has no attribute 'foobar'
在我的main.py
from classes.OMGGG import OMGGG
omg = OMG()
print(omg.childfoo())
我正在使用 python 3.7 所以super()
应该可以工作,但是我试过了
super(OMGGG, self).foobar(...
无济于事。
不太确定我做错了什么。我在想我可能不正确地导入它?
编辑:看来我忘了添加自我。这是翻译的错误。
解决方案
您的childFoo
方法需要self
作为参数:
def childFoo(self):
...
推荐阅读
- c# - 函数代表工厂
- mysql - SQLSTATE [HY000]:一般错误:1364 字段 'id_personalia' 没有默认值
- html - 如何根据最宽的单元格设置列宽
- c# - c# htmlAgilityPack 从 id 块读取直到另一个 id 块
- python - ModuleNotFoundError:Google Cloud 上没有名为“flask_dance”的模块运行
- sockets - 从 HTTP 请求触发服务器消息到套接字上的客户端
- java - 为什么简单的 for 循环在 onCreate 方法中有效,而在 MainActivity 类中无效?
- java - 日文字符的正则表达式
- amazon-s3 - nodejs 文件对象使用 s3.upload 或 s3.uploadPart 发送到 aws s3
- sql - 带大小写的 SQL 计数