5
A
回答
10
這是因爲tuple
類型不關心__init__
的參數,但僅關注到__new__
的參數。這將使其工作:
class Bar(tuple):
@staticmethod
def __new__(cls, initialValue=(0,0)):
return tuple.__new__(cls, initialValue)
造成這種情況的根本原因是,由於元組是不可變的,他們需要與他們的數據預構建之前,你甚至可以看到他們在Python層面。如果數據是通過__init__
提供的,那麼基本上在您自己的__init__
開始時會有一個空元組,然後在您調用super().__init__()
時發生更改。
相關問題
- 1. 具有默認參數的類繼承
- 2. 報告忽略參數的默認值
- 3. 從基類繼承函數聲明中參數的默認值
- 4. Python的默認繼承?
- 5. Pex忽略默認參數賦值
- 6. 爲什麼在使用TPH繼承時忽略默認值?
- 7. 我們應該爲中間繼承類提供默認實現:
- 8. 父類中的Scala繼承默認參數
- 9. 如何提供在類級別的高級參數默認值
- 10. C#中的默認繼承類型
- 11. 的Python:變量,繼承和默認參數
- 12. 默認參數值是否覆蓋提供的參數?
- 13. 的JavaScript繼承的屬性默認值
- 14. 從具有默認參數的類模板繼承
- 15. 將默認值作爲忽略它們的參數傳遞
- 16. Doxygen 1.8.13忽略帶默認值的參數(C++)
- 17. Python參數類繼承
- 18. 默認模板參數忽略
- 19. 添加默認參數的值與類型提示在Python
- 20. 當提供默認值時,爲count-type參數提供Argparse TypeError
- 21. Crystal 2008 - 爲靜態值提供參數的默認值
- 22. 的默認值使用JsonConverter而忽略默認值
- 23. AutoBeanCodex.encode忽略了默認值的屬性
- 24. South忽略Python/Django中字段默認值的更改
- 25. Doctrine2 + Symfony2的默認繼承
- 26. Scala中類型參數的默認值
- 27. 方法忽略Ruby on Rails中的參數值,使用默認值代替
- 28. 從類繼承的類沒有默認的構造函數
- 29. 如何在C#中爲委託類型的參數提供默認值?
- 30. 無法將默認值分配給Python中的參數argparse
我相信[這個答案](http://stackoverflow.com/questions/3120562/python-subclassing-immutable-types)可能是照亮。 – Amadan 2014-09-03 00:44:32