あっ どうも子へびです。
先日改札口を通ろうとしたら前のおじい様がSuicaをタッチせずに切符挿入口に差し込み通ろうとしているところを目撃しました。やはり日頃の習慣はそう簡単には変えられないものですよね。子へびは今でも磁気定期・切符購入派です。なぜなら電車大好き♡
さて子へびシリーズclassも大詰めをむかえてきました!っと言いたいところですがまだもう一山ありそうですな。子へびがずっとハマっていた親と子で変数が行き渡らない理由は判明しました。
それは今まで幾度となく悩まされた変数の領域をclassにおいてもきちんと理解していなかった為です。
理解していなきゃいけないのは大きく分けて3つ
①グローバル変数 ②class変数 ③local変数
今までは主に③を使っていて①はMaster松陰に使用を硬く禁じられていました。
理由は
Master松陰
一見とても便利そうなグローバル変数は長いCodeを書く場合に値が変更してしまう恐れがある。特にpythonの場合なんでも値が入ってしまう為混乱を招く元になる
と言う事で今までのグローバル変数が使用せずに書いていました。なのでlocal変数のみを使用して、関数同士引数を使ってひたすら値を行き来きさせていました。もはやその書き方が当たり前のようになっていたので新たに登場したclass変数の領域を全く理解していなかったのです。
‘python class変数’で検索すると小難しい文章はたくさんでてきますがいまいちイメージが掴みずらいので、Master松陰が書いてくれたこの図が初心者には一番わかりやすいと思います。
自分の領域が一目瞭然です
説明の後にMaster松陰は毎回こう言います
Master松陰
簡単じゃろ?
子へび
Master松陰はそう言うけど子へびがこの理解にたどり着くまでどれだけいろんなサイト検索して色々読んだかは言えないな〜それだけ読んでも理解できなかったんだから
子へびは思います。検索して出てくるのは初心者ですと書きながら他の言語の熟練者でただ単にpythonの初心者なだけで子へびみたいなprogramming初心者を対象とした説明があまりにも少ない。だからこそ当たり前にみんなが理解している事がどれだけ初めての経験なのかをこのブログを読んで気づいてもらえたらいいなと思います。
しかし子へびこの後理解したつもりがまだ穴の中に落ちっぱなしだとはこの時はまだきずいていなかった 笑 つづく。。。