第5回|Pythonの型とは?int・float・strの違いとtype()の使い方 | はじめてのPython

* 当サイトでは、コンテンツの一部に広告を掲載しています。

System Note $ cat /proc/ai-disclosure

本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。

第5回|Pythonの型とは?int・float・strの違いとtype()の使い方 | はじめてのPython

はじめてのPython | 第5回

目次

1. はじめに

この回では、Pythonで扱う数値と文字列の違いを確認します。見た目が似ていても、Pythonでは別の種類のデータとして扱われることがあります。

特に、10"10" の違いは初学者がつまずきやすいポイントです。この回で、型の基本と type() の使い方を押さえます。

2. この回で学ぶこと

  • 型とは何か
  • int float str の違い
  • type() で型を確認する方法
  • 数値の 10 と文字列の "10" の違い
  • 型の違いで結果が変わる例

3. 概念の説明

Pythonでは、データにはそれぞれ種類があります。この種類のことを型と呼びます。

この回では、次の3つを扱います。

  • int: 整数
  • float: 小数
  • str: 文字列

たとえば、次の値はそれぞれ別の型です。

10
3.14
"Hello"
  • 10 は整数なので int です。
  • 3.14 は小数なので float です。"Hello" は文字列なので str です。
  • また、10"10" は見た目が似ていますが同じではありません。
  • 10 は数値、"10" は文字列です。
  • 型を確認したいときは type() を使います。

4. サンプルコード

次のコードを見てください。

print(type(10))
print(type(3.14))
print(type("Hello"))

print(10 + 5)
print("10" + "5")

このコードでは、型の確認と、数値と文字列で結果が変わることを見られます。

5. 実行手順

まず、types.py というファイルを作ります。

touch types.py

types.py をエディターで開き、次のコードを書いて保存します。

print(type(10))
print(type(3.14))
print(type("Hello"))

print(10 + 5)
print("10" + "5")

保存したら、ターミナルで次のコマンドを実行します。

python3 types.py

実行結果は次のようになります。

<class 'int'>
<class 'float'>
<class 'str'>
15
105

最後の2行に注目してください。10 + 5 は数値の計算なので 15 になります。一方で "10" + "5" は文字列の連結なので 105 になります。

6. コードの読み方

  • print(type(10)) は、10 の型を表示しています。
  • 結果が <class 'int'> なら、その値は整数です。
  • print(type(3.14)) は、小数の型を表示しているので <class 'float'> になります。
  • print(type("Hello")) は、文字列の型を表示しているので <class 'str'> になります。
  • print(10 + 5) は、数値どうしの足し算です。そのため、結果は 15 になります。
  • print("10" + "5") は、文字列どうしを + でつないでいます。
  • この場合は計算ではなく連結になるため、結果は 105 です。

7. 初学者がつまずきやすい点

  • 10"10" は別の型である
  • + は数値では足し算、文字列では連結になる
  • 33.0 も別の型である
  • 引用符で囲むと文字列になる
  • 見た目だけで型を判断しない

たとえば 20 は数値ですが、"20" は文字列です。画面に表示されたときに同じように見えても、Pythonの中では別のデータとして扱われます。

8. よくあるエラー

1つ目は、数値と文字列をそのまま足そうとした場合です。

TypeError: unsupported operand type(s) for +: 'int' and 'str'

たとえば次のようなコードです。

print(10 + "5")

10 は数値、"5" は文字列なので、そのままでは足せません。

2つ目は、type のつづりを間違えた場合です。

NameError: name 'tpye' is not defined

たとえば print(tpye(10)) のように書くと、Pythonはその名前を見つけられません。

3つ目は、文字列を囲う引用符を忘れた場合です。

NameError: name 'Hello' is not defined

print(type(Hello)) のように書くと、Hello を文字列ではなく名前として解釈しようとします。

9. 練習用コード

次のコードを practice_types.py として保存して実行してください。

print(type(100))
print(type(2.5))
print(type("100"))

print(100 + 20)
print("100" + "20")

実行したあとで、どの行が型の確認で、どの行が数値の計算か、どの行が文字列の連結かを確認してください。

余裕があれば、値を自分で変更して、結果がどう変わるか試してください。

10. この回で理解しておくこと

  • 型はデータの種類を表す
  • int は整数、float は小数、str は文字列
  • type() を使うと型を確認できる
  • 10"10" は別のデータ
  • + の意味は型によって変わる

11. まとめ

今回は、数値と文字列の違い、そして型の基本を確認しました。

今後は入力や計算を扱うときに、値が数値なのか文字列なのかを意識することが重要になります。

型の違いを理解しておくと、エラーの原因も見つけやすくなります。

12. 次回予告

次回は、キーボードから値を受け取る input() を学びます。入力した値が文字列として扱われることと、数値に変換する必要がある場面を確認します。

復習してみよう

復習したい方は、こちらもあわせてご覧ください。

用途ごとに選ぶ Pythonのおすすめ本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe マスター

Macintosh Color Classicから始まった旅は、長いWindows時代を経て、Windows10のサポート終了をきっかけにUNIXの世界へ戻ってきました。UNIX Cafeでは、UNIX・Linux・そしてMacな世界を、むずかしい言葉を使わず、物語のように書いています。プログラミングは、アイデアをコンピューターに伝えるための言葉です。簡単な単語と文法を覚えれば、誰でもコマンドを使えます。ぜひ一度、やさしいプログラミングの世界をのぞいてみてください。

Created by UNIX Cafe

目次