あっ どうも子へびです。
子へびの会社近くの工事現場からスマップの『夜空の向こう』が聞こえてきてどうして工事現場で?っと上を見上げたら工事現場内のリフトが上下に動くたび聞こえてくるらしということがわかり、最近の工事現場はロマンチックだな〜と関心してしまった子へびです。特に夕方暗くなってからその音楽が聞こえてくるととっても味があります。
さてまだまだ続いているシリーズclassですが、子へびの課題はあと1つ。親で使用している関数を子が使用するバージョンを書き上がるのみとなりました。また小さいサンプルCodeを書いて試して
子へび
よし!今回は1発でクリアだ!
と思って実装してみましたがお決まりのエラーメッセージがでて一発クリアならず。またどっかケアレスミスしている子へびです。
今回pythonでのclassの書き方でまたMaster松陰から使用禁止が出たCodeがありました。それは変数の値を変更させる際に関数を使って値を変更させずに直接ダイレクトに値を入れる書き方でした。例えば
❶ personal.change_number(3) ← def change_number(self,new_number): という関数がある前提
❷ personal.number=(3)
❶❷ともにnumberの値は3に変更はできるけど後からCodeを見直したり、第三者がCodeをみた時にどちらがより正確に変更したよという内容を読み取れるかが大事なんだそう。確かに膨大な量のCodeの中から❷を見逃す確率は高いし、特に子へびみたいなタイプはなんでnumberの値がが次々に変化していくのか❶の記載方法なら一目瞭然です。という事で❷の方法でもpythonでは書くことができるけど、わかりづらいのと他の言語で書こうとした際この方法は通用しないとのことなので禁止Codeとなりました。
基本pythonなら書ける、使用できる的な書き方はMaster松陰から禁止Codeとしてお達しが出ることが多々あります。
Master松陰
厳格な言語の構造なら絶対にできないことがpythonではできてしまうところが利点でもあり弱点でもある。
とのこと。数々の言語を操るからこそ、それぞれの良い点・悪い点が見えるんでしょうね。子へびもいつか色々比べられるくらいになりたいな〜その前に子へびはclassをどうにかしないとね 笑