変数を定義してその値を初期化すると、その値を後から変更できる。変数の値を変更するには、その変数に別の値を代入するだけだ。そこで、変数を使って円周と面積を求めたセルをクリックして、編集状態にしたら、次のコードを追加して、今度は半径を2として円周を求めてみよう。r)半径2の円の円周も求める実行結果を以下に示す。変数の値を変更するには、新たな値を代入するだけ既に定義されている変数への値の代入は、その変数の値を変更するのであって、「初期化」ではない。初回の変数への代入が「変数の定義と初期化」となることには注意しよう。次に、半径を2から3にして、円の面積を求めることにしよう。「左辺の値を使って(加減乗除などの)演算」をしてから「その結果を左辺に代入」するという2つの機能が1つの演算子に組み合わせられたものだ。1」を省略して表記したものと考えられる。1」という計算を行った後に、その結果を変数aに代入する(他の演算子も同様)。以下にPythonの累算代入演算子を幾つか示す。1」という表記はこれからよく使うことになるだろう*2。C言語などでは変数の値を1増やすのに「++」演算子(インクリメント演算子)が、値を1減らすのに「--」演算子(デクリメント演算子)が使われるが、これらの演算子はPythonにはない。Pythonでは、値を1増やすには「+=」演算子を、1減らすには「-=」演算子を使う。今度はブラウザの最下部にある新しいセルをクリックして、以下のコードを入力し、実行ボタンをクリックする。Notebookのノートブックでは、以前に実行したセルで定義されている変数は、別のセルでも利用できる。2」としてその値を変更した変数rの値を「1加算」することになる。実行結果を以下に示す。変数rの値を1増加させ、半径3の面積を求めた結果ここまで、何となく「PI」や「r」という名前の変数を使ってきたが、変数には「その名前に使えるもの」「どのような名前を付ければいいか」など、守るべきルールがある。次は、それらについて簡単に見ていこう。変数の命名規則Pythonでは、変数の名前にはアルファベット(大文字/小文字)と数字、アンダースコア「_」を使える(実際には日本語の変数名も付けられるが推奨はされていない)。このとき、変数名の先頭には数字は使えない。Pythonの予約語(またはキーワード)を変数名として使うこともできない。Worldプログラム」では関数を定義したが、そのときに使用した「def」が予約語(キーワード)の一例だ。この他にも「for」「if」「while」「class」など、幾つかの語が予約されており、それらは変数名には使えない。ここまでをまとめると次のようになる。変数名には英文字/数字/アンダースコアを使用する変数名は英文字かアンダースコアで始めることが推奨される予約語(キーワード)を変数名とすることはできないだが、実際には以下のような規約もある。Pythonプログラムはこれらの慣習に従って変数名が付けられていることが多いので、自分で書くプログラムでも以下を守るとよいだろう。変数名には英小文字とアンダースコア、数字だけを使用する。変数名が複数の単語で構成されるときには、全て小文字の単語をアンダースコアでつなぐ(例:favorite_lang)環境によっては、小文字のエル(l)だけの変数名、大文字のオー(O)だけの変数名、大文字のアイ(I)だけの変数名は数字の「1」や「0」と区別が付きにくいので使わないようにするこの他にも「モジュール内部でのみ使用するものはアンダースコアで始める」などの規約もあるが、これらについてはまだモジュールについて説明をしていないなどの理由から、適切なタイミングで取り上げることにしよう。これらを踏まえた上で、幾つかの変数名の例を以下に示す。変数とは「変化する値」を保存するものだが、円周率3.14......のように変わらない値をプログラムで扱いたいときにはどうすればよいだろう。Pythonには「変わらない値を保存しておく(変わらない値に名前を付ける)」機能がない(他の言語ではこれを「定数」と呼ぶ)。Pythonでは変数を定義して、その値を変更しないで使うことで「定数」の代わりとしている。このとき、定数の名前は「大文字」(とアンダースコア)だけを使うという一般的な規則がある。上のコードでは円周率を保存するのに大文字の「PI」という名前の変数を使って、それが定数であることを表現している。Pythonの式と文ここまで変数を中心に話をしてきたが、最後にPythonの「文」と「式」について簡単に説明をしておく。「式」とは「何らかの値を持つ」ものだ。1」は一目で式であり、その値は「2」だとすぐに分かるが、単独の「1」(整数リテラル)も値を持つ(その値はもちろん「1」)ので式である。文字列(文字列リテラル)や変数を単独で記述した場合も、それは式として扱われる。print関数などの関数呼び出しも式である。式が持つ値を得ることを「式を評価する」などと呼ぶ。式は、以下で述べる文を構成する要素ともなる。「文」はその文に関連付けられた処理を実行するものと考えられる。式」とPythonの文法で定められている)。1」という「式」を含んでいる。代入文また、第2回で見た「def文」は「関数を定義する」という処理を実行していた。!'print(message)def文による関数定義これも関数定義の本体は、文と式で構成されていることが分かる。式は文としても扱われる。上のコードでprint関数を呼び出している部分は、単に「関数呼び出しという式」が記述されているだけだが、これも文の一種として扱われる(これを「式文」と呼ぶことがある)。helloworld関数を定義するdef文の構成要素このように、式と文はPythonのプログラムを構成する基本要素となる。1」のような1行で記述できる文のことを「単純文」と、上で見たdef文(関数定義)のように、他の文を含む文のことを「複合文」と呼ぶ。Pythonでは、1行には1つの単純文だけを記述することが推奨されている(本連載で記述するコードもこのスタイルにのっとっている)。何が式で、何が文であるかは、最初のうちは意識する必要はないだろうが、そうしたものでPythonのプログラムが構成されることは覚えておこう。まとめ今回は「変数」というプログラムを書く上では欠かすことのできない要素を中心に以下のような事柄を見てきた。変数は「何かの値を取っておく」「何かの値に名前を付ける」「その値を後から自由に使える」「使うには定義が必要」といったことが重要だ。書くと、難しく感じる人もいるだろうが、変数を使っているうちに自然と身に付くはずだ。次回はPythonの文字列を取り上げる。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。