在Python2.7中创建类的实例

2024-05-02 13:28:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个代码:

class NewsStory(object):
    def __init__(self, guid, title, subject, summary, link):
        NewsStory.guid = guid
        NewsStory.title = title
        NewsStory.subject = subject
        NewsStory.summary = summary
        NewsStory.link = link

    def getGuid(self):
        return self.guid

    def getTitle(self):
        return self.title

    def getSubject(self):
        return self.subject

    def getSummary(self):
        return self.summary

    def getLink(self):
        return self.link

当我将实例添加为:

test = NewsStory('foo', 'myTitle', 'mySubject', 'some long summary', 'www.example.com')

print test.getGuid()给了我foo,这是正确的。但是,如果我连续创建两个实例:

test = NewsStory('foo', 'myTitle', 'mySubject', 'some long summary', 'www.example.com')
test1 = NewsStory('foo1', 'myTitle1', 'mySubject1', 'some long summary1', 'www.example1.com')

print test.getGuid()print test1.getGuid()都给了我foo1,但没有foo。为什么会这样?是否有方法可以修改类内的类定义或函数,以避免新创建的实例覆盖旧实例?

谢谢你。


Tags: 实例testselfreturnfootitledeflink