変数に別のオブジェクトを代入

広告

変数はオブジェクトを代入した時に作成されます。そして変数にオブジェクトを代入するということは、オブジェクトに対する参照を変数に保存するということになります。

変数はあくまでオブジェクトがどこにあるのかの目印に過ぎませんので、変数には型はありません。あくまで変数が参照しているオブジェクト自身がどういった型のオブジェクトなのかを持っていることになります。

また変数は一度作成されたら、まったく別のオブジェクトを代入する事も出来ます。新しいオブジェクトを代入するということは、新しいオブジェクトの参照が変数に保持されるということです。

var = 25
var = 10

上記では変数「var」に数値「25」を代入すると同時に変数「var」を作成します。そして変数「var」に別の数値の「10」を代入しています。変数が参照できるオブジェクトは1つだけですので、新しいオブジェクトを参照するようになれば、元々参照していたオブジェクトへの参照は出来なくなります。

新しいオブジェクトを代入する時、元々参照していたオブジェクトと新しいオブジェクトの型は異なっていても構いません。変数には型はなく、変数にはオブジェクトへの目印が格納されているだけだからです。

var = 25
var = "Hello"

上記では変数「var」に数値「25」を代入すると同時に変数「var」を作成します。そして変数「var」に文字列の「Hello」を代入しています。

サンプルコード

では実際に試してみます。

#coding: UTF-8

identify = u"佐藤"
print u"識別子;" + identify

identify = "Katou"
print u"識別子;" + identify

identify = 204
print u"識別子:" + str(identify)

上記を「test3-1.py」として保存します。保存する時の文字コードはUTF-8です。そして次のように実行して下さい。

変数に別のオブジェクトを代入

( Written by Tatsuo Ikura )