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中實現鏈操作?
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中實現鏈操作?
您插入後返回實例本身爲第二操作,那麼你將有實例本身,因此您可以執行添加操作:
def add(self, num):
self.list.append(num)
return self
返回對象本身
def add(self, num):
self.list.append(num)
return self
作爲一個替代方法,爲什麼不只是讓你的add
方法取值列表作爲輸入?好像它會更容易所以現在像
def add(self, vals):
self.list += vals
使用可以
a.add([1,2])
而不是
a.add(1).add(2)
''從add' – vaultah
可能是OP相關回報self': http://stackoverflow.com/questions/36688966/let-a-class-behave-like-its-a-list-in-python/36690145 – timgeb
[用於類實例變量的對象方法鏈接的Python方法]的可能重複( HTTP:// stackov erflow.com/questions/13846202/python-way-for-object-method-chaining-for-class-instance-variables) – TemporalWolf