2016-10-23 125 views
2

我對python非常陌生,非常感謝我能夠獲得的任何幫助!在python中引用當前實例中類的前一個實例

我已經創建了一個類,我希望將類的前一個實例的兩個列表與當前類的實例中的列表結合在一起。

這是我當前的代碼:

def merge(self, another_flu_tweets): 
    self.another_flu_tweets = another_flu_tweets 
    import self.another_flu_tweets 
    self.tweets = self.tweets + self.another_flu_tweets.tweets 
    self.labels = self.labels + self.another_flu_tweets.labels 

錯誤說沒有模塊self.another_flu_tweets和進口線發生。

我已經運行了一個代碼來創建該類的實例,然後輸入該實例的名稱作爲merge方法的參數。

有沒有人有建議如何在類的當前實例中引用類的前一個實例?很感謝任何形式的幫助!!!

目前正在使用:

another_flu_tweets = flu_tweets() 
current_flu_tweets = flu_tweets() 

,然後我跑

current_flu_tweets.merge('another_flu_tweets') 
+0

'import'用於從python包(即不同的文件)導入對象。 「以前的班級實例」下的含義是什麼?你能否提供更多的源代碼來顯示你的邏輯? –

+0

我發現很難理解你想用這個'import self.another_flu_tweets'行來實現什麼。 'import'用於訪問另一個模塊中的代碼。你究竟是什麼意思「以前的例子?」你還有對這個實例的參考嗎?它是「another_flu_tweets」嗎?如果是這樣,'self.tweets = self.tweets + another_flu_tweets.tweets'應該可以工作。這就是對象的用途。 –

+0

對不起,我仍在試圖弄清楚術語。基本上我創建了一個類,它包含一個推文列表和一個標籤列表,我想將它與來自當前正在處理的類的當前實例的推文和標籤列表連接起來。 – Emily

回答

1

傳遞實例的名稱沒有報價,如使用的報價使它成爲一個字符串,將複雜的代碼:

current_flu_tweets.merge(another_flu_tweets) 

一旦您將其他實例的名稱傳遞給當前c中的方法姑娘,你會簡單地做:

def merge(self, another_flu_tweets): 
    self.tweets = self.tweets + another_flu_tweets.tweets 
    # or self.tweets += another_flu_tweets.tweets 
    self.labels = self.labels + another_flu_tweets.labels 

import語句用於進口;不確定你期望做什麼。

在另一方面的self參考是一個名字(通常使用)指代一個方法內的類的當前實例。因此,您不需要設置引用其他實例的實例屬性,即不需要self.another_flu_tweets

+0

謝謝!這實際上是我第一次嘗試,但我得到一個錯誤,說:「AttributeError:'str'對象沒有屬性'鳴叫'你知道我怎麼可以避免這個錯誤? – Emily

+0

您將該名稱作爲字符串傳遞。刪除引用'''' –

+0

其實這是我輸入我的論點的錯誤!這工作!謝謝!!!! – Emily

相關問題