在python中引用当前实例中的类的先前实例

时间:2016-10-23 17:00:17

标签: python python-2.7

我是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') 

1 个答案:

答案 0 :(得分:1)

传递没有引号的实例名称,因为使用引号使它成为一个会使代码复杂化的字符串:

current_flu_tweets.merge(another_flu_tweets)

一旦您将其他实例的名称传递给当前班级的某个方法,您只需执行以下操作:

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