为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中从类B调用类A中的方法?我收到“自我未定义”

如何在python中从类B调用类A中的方法?我收到“自我未定义”

忽然笑 2021-03-28 17:15:18
我是python新手。我想使用带有方法(getService)的python类class ServicesManager   def __init__(self, logger):      ...initialize stuff   def getService(self, name):      ... do some stuff   def anotherMethod():      ... do more stuff从另一堂课开始,这就是我的称呼from ServicesManager import ServicesManagerclass serviceCaller:   def __init__(self, logger):      self.logger = logger      self.sm = ServicesManager(self.logger)   myService = self.sm.getService('serviceA')但是当我执行它时,我会收到Traceback (most recent call last):  File "./serviceCaller.py", line X, in <module>    class serviceCaller:   File "./serviceCaller.py", line Y, in serviceCaller    myService = self.sm.getService('serviceA')NameError: name 'self' is not defined我可能做错了什么?这些类在单独的文件中
查看完整描述

2 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

该行:

myService = self.sm.getService('serviceA')

不缩进定义中定义的__init__函数的一部分self

如果您希望它成为该功能的一部分,则需要缩进它。


查看完整回答
反对 回复 2021-04-06
  • 2 回答
  • 0 关注
  • 209 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号