Python 为什么这段代码返回零?

Python 为什么这段代码返回零?,python,class,Python,Class,下面是我编写的一些简单的Python 2.6代码。代码按预期工作,只是我很好奇为什么在输出中返回零0 多谢各位 class One(object): def __init__(self): self.A = 0 def Two(self, *args): for x in args: if x == 1: print x return self def answer

下面是我编写的一些简单的Python 2.6代码。代码按预期工作,只是我很好奇为什么在输出中返回零0

多谢各位

class One(object):
    def __init__(self):
        self.A = 0

    def Two(self, *args):
        for x in args:
            if x == 1:
                print x
        return self

    def answer(self):
        print (self.A)

ABC = One()
ABC.Two(1, 1, 9, 0, 7).answer()
输出


也许如果你写得不同,你会明白发生了什么:

class One(object):

    def __init__(self):
        self.A = 0

    def Two(self, *args):
        for x in args:
            if x == 1:
                print x
        return self

    def answer(self):
        print(self.A)

ABC = One()
ABC.Two(1, 1, 9, 0, 7)
print '-' * 80
ABC.answer()

如您所见,方法answer是返回零的方法,而不是方法二

self。A是0,不是吗?答案是打印self.abe因为答案是打印self.A,它在uuu init_uuuuu中初始化为0,并且从未更改。您是在询问退出代码0消息吗?您好,Barmar-不是退出代码,我应该更清楚。我问的是“1,1,0”的输出。还有其他人…为什么所有的反对票?我是一名编码初学者,这是我在stack overflow上发布的第一个问题。我的印象是,这是一个发布各级问题和答案的网站。@LemonTiger不要让他们打扰你,你的问题很好,至少是这样。到目前为止,我在这个网站上看到了比你的问题更糟糕的问题:谢谢你,我重写了它,现在它有了意义。@LemonTiger不客气,感谢stackoverflow中的某个人的最好方式是验证它对你帮助最大的答案。另外,不要被反对票所困扰。。。无论如何,下次你再问的时候,也许这会对你有所帮助。欢迎来到SO
class One(object):

    def __init__(self):
        self.A = 0

    def Two(self, *args):
        for x in args:
            if x == 1:
                print x
        return self

    def answer(self):
        print(self.A)

ABC = One()
ABC.Two(1, 1, 9, 0, 7)
print '-' * 80
ABC.answer()