次は「変数」と「基本的な型(整数 int、小数 float、文字列 str)」をやさしくまとめます。例題をたっぷり入れて、よくあるつまずきも押さえます。
基本のイメージ
- 変数:値を入れる「名前つきの箱」
- 型(type):箱の中身の種類を表すラベル。Pythonでは主に次の3つをよく使います。
int:整数(例:0, 1, -5, 123)float:小数(例:3.14, -0.5, 2.0)str:文字列(テキスト。例:"hello",'あ')
確認方法:
x = 10
print(type(x)) # <class 'int'>
Python1. 整数 int
- 用途:個数、カウント、年齢など「整数」で表したい値。
- 基本の演算:
+ - * /(割り算/は 常に float を返す)- 切り捨て除算:
//(例:7 // 2→3) - 余り:
%(例:7 % 2→1) - べき乗:
**(例:2 ** 3→8)
- 例:
a = 7
b = 2
print(a + b) # 9
print(a / b) # 3.5 (float)
print(a // b) # 3 (int)
print(a % b) # 1
Python2. 小数 float
- 用途:金額の計算、割合、測定値など小数を扱うとき。
- 注意点(浮動小数点の誤差):
0.1 + 0.2が0.30000000000000004になる場合がある(内部表現の制約)。- 比較は
==で厳密にチェックするよりmath.isclose()などを使う。
- 例:
x = 0.1 + 0.2
print(x) # 0.30000000000000004 のように表示されることがある
import math
print(math.isclose(x, 0.3)) # True
Python3. 文字列 str
- 用途:名前、メッセージ、ファイルパスなどテキスト。必ず
'か"で囲む。 - 連結(+)と繰り返し(*):
s1 = "Hello"
s2 = "World"
print(s1 + " " + s2) # "Hello World"
print("ha" * 3) # "hahaha"
Python- 数値との注意:
"10" + 5はそのままではエラー(型が違う)。数値に変換するか文字列に変換する。
print(int("10") + 5) # 15
print("10" + str(5)) # "105"
Python型変換(キャスト)
int(x):xを整数に。"12"→12、3.9→3(小数切り捨て)float(x):xを小数に。"3.14"→3.14、2→2.0str(x):xを文字列に。100→"100"- 例:
n = int("20") # 20
f = float("2.5") # 2.5
s = str(100) # "100"
Python数値と文字列を安全に扱う(f文字列)
文字列の中に変数を埋め込むときは f文字列 が便利で読みやすい:
name = "Taro"
age = 20
print(f"{name}さんは{age}歳です") # Taroさんは20歳です
Pythonよくある初心者ミス(型まわり)
"10" + 5をそのままやる →TypeError。int()またはstr()を使う。- 割り算
/が整数を返すと思っている → Python3 の/は常にfloat。整数が欲しいときは//を使う。 - 浮動小数点の比較で
==を使う(誤差に注意)。 input()の戻り値は常にstr(数値に変換が必要)。
例:ユーザーから年齢を入力して足し算する場合
age_str = input("年齢を入れて: ") # 例: "20"
age = int(age_str)
print(age + 5) # 25
Python例題(手を動かしてみよう)
例題1(基本)
ユーザーに a と b を入力して、合計と平均(少数)を表示するプログラムを書いてください。
解答例:
a = int(input("aを入力: "))
b = int(input("bを入力: "))
total = a + b
avg = total / 2 # float
print(f"合計: {total}, 平均: {avg}")
Python例題2(型の確認)
次のコードの出力と型を予想してください。
x = 5
y = 2
print(x / y)
print(type(x / y))
print(x // y)
print(type(x // y))
Python答え
2.5
<class 'float'>
2
<class 'int'>
例題3(文字列と数値)
price = "300" のとき price * 2 の結果は?(理由も)
答え:"300300"(文字列の繰り返しになるから)。数値の2倍にしたければ int(price) * 2。
演習問題(解答付き)
問1
x = "10"
y = 5
# 空欄を埋めて合計を数値として出力
print( ? )
Python答え:
print(int(x) + y) # 15
Python問2
a = 1
b = 2.0
c = a + b
print(type(c))
Python答え:<class 'float'>(int と float の演算は float に昇格)
問3
ユーザーに身長(cm、整数)を入力してメートルに換算して表示するコードを書いてください(例:170 → 1.7)。
答え例:
cm = int(input("身長(cm): "))
m = cm / 100
print(f"{m} m")
Pythonまとめ(初心者が押さえるべきポイント)
int/float/strの違いを理解する(演算・結合・比較で挙動が変わる)。input()はstr。数値扱いしたければint()/float()に変換する。/は float を返す。整数除算は//。- 文字列と数値を結合するときは
str()や f文字列を使う。 - 浮動小数点の厳密比較は避け、丸めや
math.isclose()を使う。
