在python 2.7中创建类的实例

用户名

我写了一个代码:

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为什么会发生?是否有一种方法可以修改类定义或类中的函数,以避免新创建的实例覆盖旧实例?

谢谢。

马修

您需要在__init__函数实例变量而不是变量中创建这些变量。

实例变量如下所示:

self.guid = guid

类变量如下所示:

NewsStory.guid = guid

类变量对于该类的所有成员都是相同的,但是实例变量对于该类实例是唯一的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Python中动态创建类实例

来自分类Dev

在python 2.7中创建类的实例

来自分类Dev

在Python的元类中创建类的实例是否安全?

来自分类Dev

如何在类内的方法python中创建类的实例

来自分类Dev

引用类变量而不在Python中创建实例

来自分类Dev

如何在Python中创建类的不同实例?

来自分类Dev

如何在Python中创建包含类实例的对象?

来自分类Dev

在Python中创建一个类的多个实例

来自分类Dev

类,方法,实例创建和Main等价于Python中的Java

来自分类Dev

在Python中创建2D类数组

来自分类Dev

Python:创建类实例的副本

来自分类Dev

Python从字典创建类实例

来自分类Dev

从python类创建vim实例?

来自分类Dev

如何创建python类的实例

来自分类Dev

在python中创建实例

来自分类Dev

不确定数量的实例中的python自动创建类实例

来自分类Dev

Python:如何为在不同类的实例中创建的类的实例传递属性值?

来自分类Dev

将属性添加到Python 2中现有类的实例

来自分类Dev

Python:如何在同一个类中获取类的创建实例?

来自分类Dev

从类方法调用实例方法,在python3中允许,在python 2中不允许?

来自分类Dev

在Python中修改类实例

来自分类Dev

在Python中删除类实例

来自分类Dev

在Python中遍历类的实例

来自分类Dev

在python中过滤类的实例

来自分类Dev

在python中创建类?

来自分类Dev

使用Python不能创建多个类实例

来自分类Dev

从json创建多个python类实例

来自分类Dev

类实例作为python中的类变量

来自分类Dev

Python:在模块函数中创建的类实例在其他模块中不可见