Pythonの変数の基礎 – 【Pythonではじめるプログラミング】

Pythonの変数の基礎 Python

プログラミングを習得するためには

・変数
・条件分岐文
・繰り返し文
・関数

の4つを理解するのが最初の課題です。
今回は1つ目の変数について、演習用プログラムのソースコードを使ってそれを実行しながら解説します。

1.演習用プログラムのダウンロード

演習用プログラム( practice02.py )をダウンロードします。
ダウンロードファイルは テキストファイルになっているので、エクスプローラーを使って拡張子を .txt から .py に変更します。
practice02.py を Python をインストールしたフォルダ(今回は C:\Python)に置きます。


2.ソースコードの表示

メモ帳を使って、演習用プログラム( practice02.py )を開きます。

practice02.py

practice02.py


3.Python の変数について

変数には4つのデータ型があります。

データ型  説明
int       整数
float     浮動小数点数
str       文字列
bool      ブール値

データ型ごとに解説します。

 

① 変数に整数、浮動小数点数を代入する

まずは、コマンドプロンプト で practice02.py を実行します。
プログラムを実行する方法は、こちらの記事『ファイルに保存されたプログラムの実行』を参照します。
 
以下のように表示されます。

C:\Users\kotablog>python "C:\Python\practice02.py"
30
45.5
01 # -*- coding: utf-8 -*-
02 """
03 演習プログラム2
04 
05   変数の基礎
06 
07 """
08 import sys  # モジュールのインポート
09 
10 # 整数(int)を変数に入れる
11 age = 30
12 print(age)
13 
14 # 浮動小数点数(float)を変数に入れる
15 weight = 45.5
16 print(weight)
17 
18 #終了1
19 sys.exit()

11行目の age = 30 は、「 age の値は 30 である」ではなく、プログラミングでは、「 age という変数に 30 を入れる(代入する)」という意味になります。
そして12行目の print(age) でコマンドプロンプトに表示されます。

15行目の weight = 45.5 では、小数点を持つ数値を 変数 weight に代入しています。
 

② 計算結果を変数に代入する

ソースコード #終了1 の1行下の sys.exit() の先頭に「 # 」を入れてコメントにします。
 Ctrl  キーを押しながら、 S  キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3  キーを押して、 Enter  キーを押下します。
以下のように表示されます。

C:\Users\kotablog>python "C:\Python\practice02.py"
30
45.5
3
5
75.5
21 # 計算結果を変数に入れる
22 a = 1 + 2
23 print(a)
24 
25 b = 2
26 x = a + b
27 print(x)
28 
29 # 整数(int)と浮動小数点数(float)の計算
30 y = age + weight
31 print(y)
32 
33 #終了2
34 sys.exit()

22行目の a = 1 + 2 は数値を計算した結果を 変数a に代入しています。
26行目の x = a + b は変数と変数との結果を 変数x に代入しています。
30行目の y = age + weight は整数値( 30 )と小数点を持つ値( 45.5 )を計算した結果を 変数y に代入しています。
 

③ 文字列を変数に代入する

ソースコード #終了2 の1行下の sys.exit() の先頭に「 # 」を入れてコメントにします。
 Ctrl  キーを押しながら、 S  キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3  キーを押して、 Enter  キーを押下します。
以下のように表示されます。

C:\Users\kotablog>python "C:\Python\practice02.py"
30
45.5
3
5
75.5
こんにちは!
いいお天気ですね
36 # 文字列を変数に入れる
37 greeting = "こんにちは!"
38 print(greeting)
39 
40 weather = 'いいお天気ですね'
41 print(weather)
42 
43 #終了3
44 sys.exit()

文字列を変数に代入するときは、「 " 」ダブルクオーテーションもしくは「 ' 」シングルクオーテーションで囲みます。
37行目の greeting = "こんにちは!" は、文字列 "こんにちは!" を 変数 greeting に代入しています。
40行目の weather = 'いいお天気ですね' は、文字列 'いいお天気ですね' を 変数 greeting に代入しています。
 

④ 文字列を連結して変数に代入する

ソースコード #終了3 の1行下の sys.exit() の先頭に「 # 」を入れてコメントにします。
 Ctrl  キーを押しながら、 S  キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3  キーを押して、 Enter  キーを押下します。
以下のように表示されます。

C:\Users\kotablog>python "C:\Python\practice02.py"
30
45.5
3
5
75.5
こんにちは!
いいお天気ですね
こんにちは!いいお天気ですね
46 # 文字列を連結する
47 sentence = greeting + weather
48 print(sentence)
49 
50 #終了4
51 sys.exit()

文字列が入った変数を足し算すると文字列が連結されます。
47行目の sentence = greeting + weather で、文字列 "こんにちは!" の後ろに 文字列 "いいお天気ですね" を連結して 変数 sentence に代入しています。
 

⑤ 文字列と数値を連結して変数に代入する

ソースコード #終了4 の1行下の sys.exit() の先頭に「 # 」を入れてコメントにします。
 Ctrl  キーを押しながら、 S  キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3  キーを押して、 Enter  キーを押下します。
以下のように表示されます。

C:\Users\kotablog>python "C:\Python\practice02.py"
30
45.5
3
5
75.5
こんにちは!
いいお天気ですね
こんにちは!いいお天気ですね
Traceback (most recent call last):
  File "C:\Python\practice02.py", line 55, in 
    sentence = prologue + age
TypeError: can only concatenate str (not "int") to str

タイプエラーとなりました。
TypeError: can only concatenate str (not "int") to str
直訳すると「 str ("int" ではない) のみを str に連結できます 」

53 # 文字列と数値の連結
54 prologue = "私の年齢は"
55 sentence = prologue + age
56 print(sentence)
57 
58 #終了5
59 sys.exit()

54行目で prologue = "私の年齢は" となっているので、 変数 prologue は文字列が入っていることから str型 です。
そして 変数 age には 30 が入っているので int型 です。
55行目で str型 と int型 を連結しようとしたことでエラーになりました。
これを改善するには、データ型を変換します。そこで 文字列型に変換する 関数 str() を使います。
プログラムソースを以下のように修正します。

55 sentence = prologue + str(age)

 Ctrl  キーを押しながら、 S  キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3  キーを押して、 Enter  キーを押下します。
エラーが取れて連結することができました。

C:\Users\kotablog>python "C:\Python\practice02.py"
30
45.5
3
5
75.5
こんにちは!
いいお天気ですね
こんにちは!いいお天気ですね
私の年齢は30

 

⑥ 変数にブール値を代入する

ブール値とは 真:True、偽:False を表す値です。
ソースコード #終了5 の1行下の sys.exit() の先頭に「 # 」を入れてコメントにします。
 Ctrl  キーを押しながら、 S  キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3  キーを押して、 Enter  キーを押下します。
以下のように表示されます。

C:\Users\kotablog>python "C:\Python\practice02.py"
30
45.5
3
5
75.5
こんにちは!
いいお天気ですね
こんにちは!いいお天気ですね
私の年齢は30
True
61 # ブール値(bool)を変数に入れる
62 # 真:True、偽:False
63 enable = True
64 print(enable)
65 
66 #終了6
67 sys.exit()

63行目の enable = True で、bool値 True を 変数 enable に代入しています。
 

⑦ 変数名に日本語は使えるのか?

ソースコード #終了6 の1行下の sys.exit() の先頭に「 # 」を入れてコメントにします。
 Ctrl  キーを押しながら、 S  キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3  キーを押して、 Enter  キーを押下します。
以下のように表示されます。

C:\Users\kotablog>python "C:\Python\practice02.py"
30
45.5
3
5
75.5
こんにちは!
いいお天気ですね
こんにちは!いいお天気ですね
私の年齢は30
True
A0001
69 # 日本語の変数は使えるか
70 商品コード = "A0001"
71 print(商品コード)

70行目の 日本語の変数名 商品コード も使うことができます。
しかし、これは推奨されていません。なぜなら、Pythonはグローバルスタンダードの言語であるのに、日本語を使うと日本語がわかる人しか読めなくなってしまいます。
では、商品コード を syohin_code と書くことになりますが、ソースを読むときに読みづらくなってしまいます。
自分のためのプログラムだったり、限られた範囲で利用するプログラムであれば、読みやすさ(可読性)を優先して日本語の変数名を使うのもありです。
 

⑧ 使うことができない変数名

74行目と75行目の先頭の「 # 」を削除してコメントを外します。

73 # 使うことができない変数名
74 1月 = "31日"
75 print(1月)

 Ctrl  キーを押しながら、 S  キーを押して、ソースコードを上書き保存します。
コマンドプロンプトで F3  キーを押して、 Enter  キーを押下します。
以下のように表示されます。

C:\Users\kotablog>python "C:\Python\practice02.py"
  File "C:\Python\practice02.py", line 74
    1月 = "31日"
     ^
SyntaxError: invalid syntax

エラーとなりました。
変数名の先頭に数字(半角、全角とも)は使うことができません。
 

<プログラムの基本構造 Pythonの変数の基礎 Pythonの条件分岐文の基礎>
タイトルとURLをコピーしました