変数
変数とはデータを保管しておく箱のようなものです。
1 2 3 4 |
# 変数 a に文字列を代入 a = "文字列" # 変数 a を表示している print(a) |
表示結果は a ではなくて
文字列
となります。
変数名に使える文字
変数名には、英数字と_(アンダースコア)が使えます。
変数名は、数字から始まってはいけません。
以下の予約語(既存のキーワードとして予約されているもの)は変数名に使えません。
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
データ型
CやJavaのように変数のデータ型を宣言する必要はありません。
変数に何のデータ型が代入されたのかをPythonは自動的に判断します。
データ型を教えてくれるtype関数を使ってみます。
1 2 3 4 5 6 7 8 |
a = "文字列" print(type(a)) a = 10 print(type(a)) a = 3.14 print(type(a)) |
<class ‘str’>
<class ‘int’>
<class ‘float’>
‘str’は文字列型
‘int’は整数型
‘float’は浮動小数点型
他にもデータ型はありますが、後述します。
四則演算
- 加算は +
- 減算は –
- 乗算は *
- 除算は /
1 2 3 4 5 6 7 |
a = 9 b = 3 print("{} + {} = {}".format(a ,b ,a + b)) print("{} - {} = {}".format(a ,b ,a - b)) print("{} * {} = {}".format(a ,b ,a * b)) print("{} / {} = {}".format(a ,b ,a / b)) |
9 + 3 = 12
9 – 3 = 6
9 * 3 = 27
9 / 3 = 3.0
- 除算の余りは %
1 2 3 4 |
a = 10 b = 3 print("{} % {} = {}".format(a ,b ,a % b)) |
10 % 3 = 1
ちなみに、文字列に文字列を足すと文字列が連結されます。
1 2 3 4 |
a = "文字列1" b = "文字列2" print("{} + {} = {}".format(a ,b ,a + b)) |
文字列1 + 文字列2 = 文字列1文字列2
文字列に整数を掛けると、文字列が繰り返されます。
1 2 3 4 |
a = "文字列" b = 5 print("{} * {} = {}".format(a ,b ,a * b)) |
文字列 * 5 = 文字列文字列文字列文字列文字列
input関数
input関数はキーボード入力を受け付ける関数です。
1 2 3 |
a = input("数字を入力して下さい:") print(a) print(type(a)) |
数字を入力して下さい:1
1
<class ‘str’>
1 と入力してエンターキーを押しました。
変数 a に入力した値が格納されて、print(a) で表示させています。
type関数で a のデータ型を調べると文字列型になっていることがわかります。
input関数で入力したものは文字列型になる
1 2 |
a = input("数字を入力して下さい:") print(a * 3) |
数字を入力して下さい:2
222
2 と入力して、2 * 3 を計算するつもりでしたが、文字列なので 2 を3回繰り返しただけになりました。
キャスト
データ型を別の型に変換することをキャストと言います。
先程の 2 * 3 の計算をしたい場合は、文字列型を整数型に変換してから演算するとうまくいきます。
1 2 3 |
a = input("数字を入力して下さい:") a = int(a) print(a * 3) |
数字を入力して下さい:2
6
a = int(a) で型変換しています。
整数型と浮動小数点型が統一されていない場合、キャストしなくても浮動小数点型に変換します。
1 2 3 4 5 6 7 8 |
a = 100 b = 1.08 # 整数型 print(type(a)) # 浮動小数点型 print(type(b)) print("{} * {} = {}".format(a ,b ,a * b)) |
<class ‘int’>
<class ‘float’>
100 * 1.08 = 108.0
splitメソッド
splitは文字列を区切った単語を返します。
詳しくは後述しますが、input関数と合わせますと、複数の値を入力することができるので便利です。
1 2 3 4 5 6 7 8 9 |
a, b = input("数字を2つ(スペースで区切って)入力して下さい:").split() # 文字列型を整数型にキャスト a = int(a) b = int(b) print("{} + {} = {}".format(a, b, a + b)) print("{} - {} = {}".format(a, b, a - b)) print("{} * {} = {}".format(a, b, a * b)) print("{} / {} = {}".format(a, b, a / b)) print("{} % {} = {}".format(a, b, a % b)) |
数字を2つ(スペースで区切って)入力して下さい:10 3
10 + 3 = 13
10 – 3 = 7
10 * 3 = 30
10 / 3 = 3.3333333333333335
10 % 3 = 1
input関数で入力した文字をスペースで区切ります。
「10スペース3」と入力しますと、最初はリスト型(詳細は後述します)で返ります。→ [’10’, ‘3’]
Pythonはリストの要素ごとに左辺の変数に複数同時代入できます。
a と b は文字列型なので、整数型にキャストしてから、それぞれ演算しています。
今回はここまでです。