私はSlatkinのEffective Pythonを読んでいます。項目24では、コンストラクタの役割を果たす関数classmethod
を使用して、Pythonで多態性を達成する方法について説明します。Pythonでclassmethodコンストラクタを使用するのはなぜですか?
しかし、なぜこれが必要なのかはわかりません。 __init__
をそのまま使用して、派生クラスごとに同じ目標を達成できないのはなぜですか。classmethod
をオーバーライドするのと同じ方法ですか?
彼は、クラスごとに1つのコンストラクタしか持っていないので、classmethodではなくその目的のためにregular initを使用してみませんか?
あなたは、残念ながら詳細が欠けている、ここでは項目24何を見ることができます:ここ http://ptgmedia.pearsoncmg.com/images/9780134034287/samplepages/9780134034287.pdf
詳細:本で示された例では http://qiita.com/giwa/items/fd563a93825714cffd70
Googleブックスでこれを読もうとしています:https://books.google.com/books?id=ocmqBgAAQBAJ&pg=PA64&lpg=PA64&[email protected]+Polymorphism+to+Construct+Objects+Generically+slatkin&source= BL&OTS = ZCiluYizaC&SIG = QfGv_bVYM2dYdNyXvHH-jrWM9C8&HL = EN&SA = X&VED = 0ahUKEwiR8dy7h_TMAhVD6CYKHXMYDH0Q6AEILjAD#V = 1ページ分&Q =%20%を使用し40classmethod%20Polymorphism%20to%20Construct%20Objects%20Generically%20slatkin&Fそれでも= falseを –
、あなたは* *によって行われた議論をまとめることができればスラットキン**ここ**、私たちはこの質問を開いたままにすることができ、私はそれに答えることができます。これらの詳細がなければ、問題はそれ自体で立っておらず、閉じられるだけです。 –
そして今私はあなたが見逃したことを見た。クラスメソッドは** one **インスタンスを生成せず、シーケンスを生成します。 –