Pythonで型変換(str/int)が必要な理由


データには「型(種類)」がある

Pythonの世界では、すべてのデータに「型」という種類が決まっています。

今日学んだのは、もっとも基本的な2つの型です。

  • 文字列型(str): 文字として扱うデータ(例:"100""Python"
  • 数値型(int): 計算ができる数字のデータ(例:1002024

見た目が同じ 100 でも、" " で囲まれているかどうかで、Pythonにとっては「名前」なのか「数」なのかという大きな違いがあります。


「型が違うと連結できない」というルール

なぜこの「型」を意識する必要があるのでしょうか?

それは、異なる型同士をくっつけようとするとエラーになるからです。

例えば、「私の年齢は 25 歳です」と出力したいとき、うっかり以下のように書くとエラー(TypeError)が発生します。

Python

age = 25
print("私の年齢は" + age + "歳です")  # ここでエラー!

Pythonからすると「文字と数字は足し算できないよ!」という状態です。


解決策は「型変換(キャスト)」

この問題を解決するために、データの型を一時的に変換する「型変換」を使います。

1. 数値を文字列に変える:str()

数値を文字として連結したいときに使います。

Python

age = 25
print("私の年齢は" + str(age) + "歳です") # これで正しく表示される!

2. 文字列を数値に変える:int()

逆に、ユーザーから入力された「文字としての数字」を計算に使いたいときに便利です。

Python

price = "100"
total = int(price) + 50 # 数値として計算(結果は150)

まとめ:データの正体を見極めよう

プログラミングをしていて「思った通りに動かない」ときは、このデータ型が原因であることが多いそうです。

  • 文字は str、整数は int
  • 型が違うものを繋ぐときは、必ず型を揃える

このルールを覚えたことで、エラーが出ても「あ、型が違うのかも?」と予想できるようになりました。一歩ずつ、エンジニアらしい視点が身についてきた気がします!

追記:それぞれの意味 By Gemini
1. int = integer(インテジャー)

  • 意味: 数学用語で**「整数」**を指します。
  • 特徴: 小数点を含まない、0、1、-5などのキリの良い数字のことです。

2. str = string (ストリング)

  • 由来: 文字(Character)が数珠つなぎに、紐のように連なっている様子から「String of characters」と呼ばれ、それが略されて string となりました。
  • 意味: 一般的な英語では「紐(ひも)」や「糸」を指しますが、プログラミングでは**「文字列」**を指します。

コメント

タイトルとURLをコピーしました