2017-02-23 157 views
1
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中實現鏈操作?

+4

''從add' – vaultah

+0

可能是OP相關回報self': http://stackoverflow.com/questions/36688966/let-a-class-behave-like-its-a-list-in-python/36690145 – timgeb

+0

[用於類實例變量的對象方法鏈接的Python方法]的可能重複( HTTP:// stackov erflow.com/questions/13846202/python-way-for-object-method-chaining-for-class-instance-variables) – TemporalWolf

回答

1

您插入後返回實例本身爲第二操作,那麼你將有實例本身,因此您可以執行添加操作:

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

返回對象本身

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

作爲一個替代方法,爲什麼不只是讓你的add方法取值列表作爲輸入?好像它會更容易所以現在像

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

使用可以

a.add([1,2]) 

而不是

a.add(1).add(2)