キーワード辞典
物凄く大雑把なPython

登録日 21/09/09   更新日 21/09/19



変数


  1. 変数名は、プログラムにおいて必要なデータを適切なデータ型でメモリ上に置き、処理をする為の場所の目印。 変数の値は、その場所に記憶されている値。適宜、処理に応じて記憶している値を書き換える事が出来るので、変数。 その実体は、データ型のインスタンス。 Pythonの変数のデータ型は、右辺から代入される値で判断して自動的に(=勝手に)決めているので、 プログラマは余り気にする必要は無くなっているが、注意していないと、エラーにつながる。 同じ変数名なのに、処理の過程で勝手にデータ型が変わる場合も有る。
    プログラマは、プログラムを書く際に、そのデータの場所が、実際にプログラムを実行する際に 何番地になるのか、なんて考えたくないし、プログラムを書き変える毎にその番地は当然変わるので面倒臭い。 そこで、とりあえずプログラマにとって判り易い名前で目印を付けておき、 実行した際に何番地になるのか、は、処理系やOS等に任せてしまえ、 というのが、変数名。 C言語の変数名は「実際に値が有る番地」を示すが、 Pythonでは『「実際に値が有る番地」を記憶している番地』を示し、 しかも「実際に値が有る番地」は処理の過程で頻繁に変わるので、単なるポインタの心算でいると要注意。

  2. Pythonの変数や要素は、必ずデータを格納した形で宣言され、格納されたデータを基準に勝手に型を決められるので、 プログラマは、変数に対し、データ型を明示しなくとも作る事が出来る。 お手軽だが、特に大きなプロジェクトの場合、全体の見通しが悪くなり、トラブルの元になる事もある。

  3. *** 重要 ***
    変数の型の明示は人間のメモでしか無く、実際にその型になっているとは限らない。
    また、処理の過程で、同じ変数なのに、途中で型が変わる場合がある。流石、「変数自体がポインタ」の威力?

  4. 同じ変数aなのに、代入される値によって、変数のデータ型が変わる例。

    対話モードでの実行例
    同じ変数aなのに、文字列が数値になったり、その逆になったりするのは、 プログラムとして流石に「何だかな~」と思うが、 整数型から浮動小数点型になったり、その逆になったりするのは、 データ型に無頓着なプログラマならば、違和感は持たないだろうな。

    Pythonでは、整数、小数、に関しては、そんなに型を気にするな、という事の模様。











[ 黒板消しとチョーク受けの画像 ]