2013-09-24 97 views
1

我一直在試用此代碼,並且忘記了爲什麼它不起作用。將python對象設置爲變量

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

我想這可能是self只是一個參考對象,但通過self=[]self=object也不起作用。

我知道這種方法不完全是一種好技術,但我想知道爲什麼它沒有將對象設置爲特定值。

回答

2

它不是忽略的分配。分配工作正常,您創建了一個指向False的本地名稱。

如果你真的想要做你正在做什麼?

class Test(object): 
    def __new__(*args): 
     return False