Open hry-naka opened 1 year ago
そもそも、こんなアクセッサが必要なのか?と思い、今更ですがPythonの文法をお勉強してみると
public/protected/privateの区別は、コーディングの規約として規定(約束)があるが、コンパイル・ラインタイムのチェックは実装されていない。
クラス変数(インスタンス間の共有変数)とインスタンス変数(インスタンス内の固有変数)の区別は、存在かつ実装されている。
ということでした。
さて、どうしようかな?
言語仕様でガードはかからないでしょうが、pylintとかでチェックしてもらえる可能性はあるので、一応Protectedな定義にはしておく。 セッター・ゲッターは折角@propertyという言語仕様サポートがあるので、活用する。 クラス変数とインスタンス変数の違いは勉強不足でした。
という方針で修正しよう。
例えば、self.titileが初期化されていないときに、load_now()で初期化しているけど、tfrecを考えると乱暴 そもそもloadしないでgetするのって無謀な気がするので、エラーにするべき (でもユーザ側でエラー処理作る?・・まぁ、どこまでガードするか?はユーザマターでしょって気もする)