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()メソッドを使用することで、より可読性の高いコードを書くことができます。