2012-10-18 37 views
4

閱讀本:What is a metaclass in Python?,我正在學習使用下面的代碼片斷使用__new__: -類型錯誤:對象.__新__(INT)是不是安全,使用int .__新__()

class a(object): 
    pass 

a.__new__(int,'abcdef',(int,),{}) 

可能有一些使用a.呼叫__new__時出現問題。但是,我得到了下面的錯誤,而我不明白其中的含義: -

TypeError: object.__new__(int) is not safe, use int.__new__()

如果有什麼做的__new__的使用,我可以ammend通過閱讀一些書。但是,有人可以解釋爲什麼這條消息來了:

object.__new__(int) is not safe, use int.__new__()

回答

2

簡單地說,之前2.6 - object.__new__忽略參數...現在它實際上可以做他們的東西......所以警告可能會發生不同的事情。

此職位Any ideas about the best work around for __new__ losing its arguments? - 有一個更詳細的解釋。

你可能也想在看http://docs.python.org/library/functions.html#type

知道什麼是可能在Python中所有東西是偉大的,但只是作爲一個警告,我不會太掛它 - 作爲我見過一些非常「聰明」的解決方案,那只是怪物...

相關問題