Python初心者の方に多い「print()関数でTypeError」のエラーについて、原因と解決方法を詳しく解説します。
基本的なprint()関数の使い方
print()関数は、Pythonで最も基本的な出力関数です。文字列や数値を画面に表示するために使用します。
print("Hello World") # 文字列を出力
print(123) # 数値を出力よくあるエラーと解決方法
1. TypeError: can only concatenate str (not "int") to str
このエラーは、文字列と数値を「+」で連結しようとした時に発生します。
# エラーが発生するコード
age = 25
print("年齢は" + age)
# 正しいコード
print("年齢は" + str(age)) # str()で文字列に変換
print(f"年齢は{age}") # f文字列を使用2. 複数の値を出力する方法
複数の値を出力する際は、カンマで区切ることができます。
name = "太郎"
age = 25
print(name, age) # 自動的にスペースが挿入される3. 区切り文字のカスタマイズ
sep引数を使用して、区切り文字を変更できます。
print("Python", "Java", "C++", sep=", ") # カンマとスペースで区切る
print("2024", "03", "15", sep="/") # スラッシュで区切る4. 改行を制御する
end引数を使用して、出力後の動作を制御できます。
print("Hello", end="") # 改行なしで出力
print("World") # 続けて出力print()関数の応用テクニック
フォーマット指定による出力
name = "山田"
score = 85.5
# format()メソッドを使用
print("{}さんの点数は{:.1f}点です".format(name, score))
# f文字列を使用(Python 3.6以降)
print(f"{name}さんの点数は{score:.1f}点です")リストやタプルの出力
fruits = ["りんご", "バナナ", "オレンジ"]
print(*fruits) # アンパック演算子を使用エラー防止のベストプラクティス
1. 異なる型を連結する際は、明示的に型変換を行う
2. デバッグ時は、変数の型を確認する
3. f文字列を積極的に活用する
まとめ
print()関数は、単純な出力から複雑なフォーマット指定まで、幅広い用途で使用できます。エラーの多くは型の不一致が原因ですので、適切な型変換を行うことで解決できます。
また、f文字列やformat()メソッドを使用することで、より可読性の高いコードを書くことができます。