如何将外部函数类传递给内部类?

时间:2019-12-01 23:49:32

标签: python

作为标题,我在父类中具有多功能性,它将在子类A.k.A内部类中共享使用。在下面,我需要从父类传递external_send函数。然后,将其与识别类别名子类中的调用inner_send函数一起使用。结果将输出Test。

days[indexPath.section].remove(at: indexPath.row) // Make this a realm update though
tableView.deleteRows(at: [indexPath], with: .fade)

1 个答案:

答案 0 :(得分:-1)

我不喜欢这种模式,我建议以其他方式进行设计。但是,这确实符合我的想法:

class Device:

  def __init__(self):
      self.identify = self.Identify(self._send)

  def _send(self, message):
      print(message)

  class Identify:
      def __init__(self, _send):
          self.send = _send


device = Device()
device.identify.send('test')

一些注意事项:我将outer_send重命名为_send,因为我假设您不希望人们直接在Device对象上调用它-如果您这样做,只需将其重命名{ {1}},它仍然有效; send位似乎是多余的,因此将其删除;您的error缺少了outer_send作为参数-不需要它,但是,如果您确实想忽略它,请用self注释该方法,以避免出现警告。