今回はPythonの変数の使い方です。
変数はプログラムで扱う値を格納する領域で、ループ処理で使うカウンタや値の一時保存などで非常に良く使います。
なお、他のプログラム言語では値が変更できない定数という概念がありますが、Pythonには定数の仕組みはありません。
変数名を大文字にすることによって、各プログラマが定数であることを認識するだけです。
変数の使い方
変数に値を代入する方法は、以下のようになります。
変数名 = 値
以下の例では、nameという変数に山田太郎という値を設定しています。
1 |
name = "山田太郎" |
変数名のルール
変数名の付け方には、以下のようにいくつかルールが存在ます。
注意ポイント
- 変数名に使える文字は、アルファベット、数字、_(アンダースコア)です。
- 変数名は先頭文字に数字を使うことはできません。
- 変数名は大文字小文字を区別します。
- True、False、while、forなどのPythonの予約語は使えません。
- 変数名に漢字などの日本語も使えますが、特に理由がなければ日本語は使わない。
変数の型について
PythonではC言語やJavaのように、あらかじめ変数に数値型や文字列型のような型を宣言する必要はありません。
ただし、変数に値を代入する際に少し注意が必要です。
数値(整数、小数)を設定する場合はそのまま値を代入できますが、文字列を設定する場合は '(シングルクォーテーション)または "(ダブルクォーテーション)で囲まなければなりません。
文字をクォーテーションで囲まないでそのまま変数に値を設定しようとすると、エラーが出力され設定できません。
1 2 3 4 |
>>> name = 山田太郎 Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name '山田太郎' is not defined |
変数を使ってみよう
それでは変数を使ったプログラムを作っていきましょう。
変数に値を代入するプログラムと、変数に値を代入してその値を計算するプログラムを紹介します。
変数に値を代入するプログラム
変数nameに文字列、変数numberに数字の値を代入して、変数の値を画面に表示するプログラムです。
1 2 3 |
name = "山田太郎" number = 2 print(name, number) |
1 2 |
> python variables1.py 山田太郎 2 |
一度変数に代入した値を変更するプログラムです。
変数nameに山田太郎、変数numberに2を設定した後に、変数nameに鈴木一郎、変数numberに51を設定しています。
変数の内容が上書きされていることが分かります。
1 2 3 4 5 6 7 |
name = "山田太郎" number = 2 print(name, number) name = "鈴木一郎" number = 51 print(name, number) |
1 2 3 |
> python variables2.py 山田太郎 2 鈴木一郎 51 |
変数を使った計算プログラム
2つの変数を用意して、その変数を使って計算をしてみましょう。
変数にそれぞれ値を代入して、四則演算させています。
*(アスタリスク)は掛け算、/(スラッシュ)は割り算を実行する記号です。
1 2 3 4 5 6 |
number1 = 5 number2 = 10 print(number1 + number2) print(number1 - number2) print(number1 * number2) print(number1 / number2) |
1 2 3 4 5 |
> python variables3.py 15 -5 50 0.5 |
変数number1に5、変数number2に10を代入しているので、プログラムの3行目から6行目は以下の計算をやっていることになります。
1 2 3 4 |
5 + 10 5 - 10 5 * 10 5 / 10 |
変数の連結して表示するプログラム
2つの変数を用意して、その変数を連結して画面に表示するプログラムを作成してみましょう。
変数が文字列型の場合は、+(プラス)記号で変数を連結できます。
1 2 3 |
name1 = "東京都" name2 = "千代田区" print(name1 + name2) |
1 2 |
> python variables4.py 東京都千代田区 |
なお、変数の値が数値の場合は、組み込み関数のstr()を使って変数の型を文字列型に変換します。
1 2 3 |
number1 = 5 number2 = 10 print(str(number1) + str(number2)) |
1 2 |
> python variables5.py 510 |
参考として、Python公式サイト「Pythonの基礎の基礎」へのリンクを貼っておきます。