1

我一直在尝试这段代码,却忘记了它为什么不起作用。

class Foo(object):
    def __init__(self):
        self=False
        print self #Prints false
print Foo() #Prints `<__main__.Foo object at 0x026B3970>`

我认为这可能self只是对对象的引用,但传递self=[]self=object不起作用。

我知道这种方法并不完全是一种好技术,但我想知道为什么它没有将对象设置为特定值。

4

1 回答 1

2

它不会忽略分配。分配工作得很好,您创建了一个指向 False 的本地名称。

如果你真的想做你正在做的事情...

class Test(object):
    def __new__(*args):
        return False
于 2013-09-24T13:23:19.813 回答