Pythonを書いていると、突然エラーが出て止まることがあります。
特に多いのが、数値と文字列を一緒に使ったときのエラーです。
この記事では、その理由を実際のエラー表示を見ながら説明します。
この記事でわかること
完成コード(まず見てみよう)
age = 20
print("年齢は" + str(age) + "歳です")テーマの説明(やさしく)
Pythonでは、値には型という種類があります。
型は、その値が何として扱われるかを表します。
数値は計算用の型です。
文字列は文章として扱う型です。
Pythonは、この違いをとても大切にします。
数値と文字列はなぜエラーになるのか
次のコードを実行すると、エラーになります。
age = 20
print("年齢は" + age)実行すると、次のようなエラーが表示されます。
TypeError: can only concatenate str (not "int") to strこのエラーは文字列に数値をそのまま足そうとした、という意味です。
Pythonは、次のように役割を分けています。
そのため、型が混ざると止まります。
具体例・補足説明
このエラーを解決するには、数値を文字列に変えます。
そのために使うのがstrです。
age = 20
print("年齢は" + str(age))str(age)は、数値の20を文字の20に変えています。
これで、文字列同士としてつなげられます。
おじちくワンポイント
エラーは失敗ではありません。
Pythonが、間違った使い方を教えてくれている状態です。
型が違うかもしれない、と考える癖を付けると楽になります。
よくある勘違い・注意点
練習問題
問題1
数値と文字列を足して、同じエラーが出るか確認してください。
問題2
strを使って、エラーが出ない形に直してください。
まとめ
このエラーが理解できれば、初心者の山は一つ越えています。
次回の記事は今後追加予定です。
前回の記事はこちらです。
Pythonの文字列strの使い方を初心者向けに解説
目次はこちらです。
Python学習コンテンツ