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

我是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 ServicesManager

class 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

我可能做错了什么?这些类在单独的文件中


忽然笑
浏览 210回答 2
2回答

白板的微信

该行:myService&nbsp;=&nbsp;self.sm.getService('serviceA')不缩进定义中定义的__init__函数的一部分self。如果您希望它成为该功能的一部分,则需要缩进它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python