【问题标题】:How to implement chain operations in Python?如何在 Python 中实现链式操作?
【发布时间】:2017-02-23 19:11:48
【问题描述】:
class Array:
    def __init__(self):
        self.list = []

    def add(self, num):
        self.list.append(num)

a = Array()
a.add(1).add(2)

我想像这样将数字 1、2 添加到 self.list 中。 我该如何实施?

【问题讨论】:

标签: python


【解决方案1】:

在您的插入返回实例本身以进行第二次操作后,您将拥有实例本身,因此您可以执行添加操作:

def add(self, num):
    self.list.append(num)
    return self

【讨论】:

    【解决方案2】:

    返回对象本身

    def add(self, num):
        self.list.append(num)
        return self
    

    【讨论】:

      【解决方案3】:

      作为一种替代方法,为什么不让您的 add 方法将值列表作为输入?好像这样用起来会更方便

      def add(self, vals):
          self.list += vals
      

      现在你可以

      a.add([1,2])
      

      代替

      a.add(1).add(2)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多