まず結論

型は、値の種類を表すものです。

name = "モコ"
age = 12

"モコ" は文字列です。
12 は数値です。

見た目が似ていても、Pythonは値の種類を分けて扱います。

こんなときに読む記事です

次のようなところで止まった人向けです。

  • 文字列と数値の違いが分からない
  • strint という言葉が出てきて迷う
  • input() やエラー記事の前に、型のイメージを知りたい

ここでは、難しい内部の仕組みまでは扱いません。

絵で見るなら

型は、値についている「種類の札」だと考えると分かりやすいです。

文字の札がついた値は文字として扱われます。

数字の札がついた値は計算できる数として扱われます。

よく出る型

最初によく見る型は、次の2つです。

message = "こんにちは"
count = 3

message には文字列が入っています。
count には数値が入っています。

文字列は、画面に出す言葉や名前に使います。
数値は、足し算や引き算などの計算に使います。

文字の数字に注意する

"12"12 は、Pythonでは別のものです。

print("12")
print(12)

見た目はどちらも 12 ですが、上は文字列、下は数値です。

文字列の "12" は、そのままでは数値計算に使えません。

よくある勘違い

数字に見える文字は、自動で数値になるとは限りません。

age = "12"
print(age + 1)

このコードは、文字列と数値を混ぜているためエラーになります。

計算したいなら、数値に変換する必要があります。

読み方のコツ

迷ったら、値を見て次のように考えます。

クォートで囲まれているなら文字列
計算したいなら数値

エラー文に strint が出てきたら、「型が違うのかも」と考えると原因に近づけます。

手を動かすミニ練習

type() を使うと、値の型を確認できます。

print(type("12"))
print(type(12))

同じ 12 に見えても、型が違うことを確認してみましょう。