- 308 名前:デフォルトの名無しさん mailto:sage [2020/09/14(月) 18:22:29.15 .net]
- @classmethodをざっくり調べてみたのですが
使いどころがいまいちわかりませんでした (1)@classmethodをつけて、インスタンスのみで使う (2)@classmethodをつけて、インスタンス以外でも使う(例 クラス名.メソッド()) (3)@classmethodをつけず、インスタンスのみで使う (4)@classmethodをつけず、インスタンス以外でも使う(例 クラス名.メソッド(クラス名)) https://ideone.com/2qI4Am (説明のためでコード内容に深い意味はありません) (1)の場合、selfから__xや__yを参照すると属性エラーが出ました それは、@classmethodを付加したメソッド内部の処理では __init__で設定した初期値を扱えない、ということを意味しそうな気がするのですが 何のために?とモヤモヤしています (h.sum(h.x, h.y)のようにインスタンスのときは明示的にゲッターを使えるため・・?)
|

|