python3 class / self scope instance object

クラスの説明がわかりやすい

クラス変数インスタンス変数

 

 

 

 

selfとは何?

クラスのインスタンスを指す

コード本文で現れないものがclassに出てきて、変数や関数にによってself.が付いたり付かなかったり?

さっぱりわからない。紙に印刷して変数を線で結んで変化を確認するのが良い


変数を日本語に変えてみよう。変数名以外は同じ、問題なく動く

変数が漢字になったので一つずつ目で追ってみよう、印刷して線を引いて追うのが一番いい

一人の勇士ピエールが伝説の勇者というクラスに出世する物語

冒険の書によれば

ピエール = 伝説の勇者(“戦士”, “ハッカパイプ”)
↑  “ハッカパイプ”を持つ”戦士”、”ピエール”は覚醒し「伝説の勇者クラス」となった

  • 伝説の勇者ピエールは荒野を進軍した
  • すると、進軍したときだけ現れるモンスター(’スライム’)に持っていた武器(’ハッカパイプ’)で攻撃した(__攻撃は、進軍中しか出来ない仕組みになっている)

selfを”ピエール”に置き換えて、”ピエール”で実体化するという荒業だが、問題ない。

これでクラスのオブジェクト仮引数と引数と__initとプライベート引数と、プライベート関数が理解できました。もう怖いのは、ハッカの代わりに葉っぱをパイプに詰めることだけですね。


 

コードはpaizaから、無料なのに最高。
プログラミング学習 > Python > Python3入門編 > Python入門編8: クラスを理解しよう > アクセス制限を理解しよう