変数への代入
文字列や数値などのオブジェクトを作成した時に、オブジェクトに名札を付けて後から参照することが可能です。この名札を変数と呼びます。
プログラミング言語によっては変数にオブジェクトを代入すると、オブジェクトのコピーを変数に保持するものもあります。しかしPythonでは変数にはオブジェクトへの参照だけが保存されます。つまりオブジェクトは元のものが1つあるだけで、変数はそのオブジェクトがどこにあるのかの情報だけを持っているようなものです。
ではオブジェクトに対して変数を名札として付ける方法を確認します。書式は次のようになっています。
変数名 = オブジェクト
このように変数がオブジェクトを参照できるようにすることを、Pythonでは代入ステートメントと呼んでいます。代入ステートメントは「=」記号の右辺のオブジェクトへの参照を左辺の変数に格納します。これを変数にオブジェクトを代入するといいます。
例えば次のように使用します。
num = 10 name = u"加藤"
上記では変数「num」に数値の「10」を代入しています。また変数「str」にUnicode文字列の「加藤」を代入しています。
変数は、変数に何らかのオブジェクトを代入した時点で作成が行われます。また作成された変数は、あたかも変数が参照しているオブジェクトのように式の中で使うことが出来ます。
msg = "Hello" print msg
上記では変数「msg」に文字列の「Hello」を代入しています。そして「print」文の引数に文字列の代わりに変数を指定しています。このように式の中で変数を使用すると、変数が参照しているオブジェクトに置き換えられて使用されます。結果的に「Hello」が出力されることになります。
sum = 10 + 45 print sum
上記では数値の「10」と数値の「45」の加算した結果作成された新しい数値オブジェクトの「55」を変数「sum」に代入しています。このように変数を利用すれば数値の演算結果や文字列を連結して作成された新しい文字列などへの参照を保持しておき、後から利用することが可能になります。
このように変数を式の中で使用できるのは、変数にオブジェクトが代入されて変数が作成されている場合だけです。一度もオブジェクトが代入されていない変数を式の中で使用すると「NameError」が発生します。またオブジェクトを代入せずに変数だけを先に作成する事も出来ません。
print msg # NameError
では実際に試してみます。
#coding: UTF-8 msg = "Hello" print msg sum = 10 + 45 print sum
上記を「test1-1.py」として保存します。保存する時の文字コードはUTF-8です。そして次のように実行して下さい。
( Written by Tatsuo Ikura )