【Python】f文字列でエラーが起きる原因と対処法

f文字列を使う際によく起きるエラーについて学びましょう。

変数の指定ミスやスコープの問題、特殊文字の扱い、フォーマット指定の注意点など、エラーを避けるためのポイントを紹介します。

目次から探す

f文字列でよく起きるエラー

f文字列を使用する際によく起きるエラーには、いくつかのポイントがあります。

ここでは、その中でも特によく見られるエラーについて解説します。

文字列内での変数の指定ミス

f文字列を使用する際に、文字列内で変数を指定する際には、変数名を中括弧 {} で囲む必要があります。

この中括弧を忘れたり、変数名を正しく指定しなかったりするとエラーが発生します。

name = "Alice"
age = 30
# 変数を文字列に埋め込む
print(f"私の名前は{name}です。年齢は{age}歳です。")

変数のスコープの問題

f文字列を使用する際に、変数のスコープに注意する必要があります。

関数内で定義された変数をf文字列で参照する場合、その変数が関数内でのみ有効であることに注意しましょう。

関数外でその変数を参照しようとするとエラーが発生します。

def greet():
    name = "Bob"
    print(f"Hello, {name}!")

greet()
print(f"Goodbye, {name}!")  # エラーが発生する

特殊文字のエスケープ

f文字列内で特殊文字を使用する場合、エスケープシーケンスを正しく使う必要があります。

特に、中括弧 {} やバックスラッシュ \ を含む文字列を扱う際には注意が必要です。

# 中括弧を含む文字列
text = "Pythonのf文字列は、{variable}を埋め込むのに便利です。"
print(f"{text}")

# バックスラッシュを含む文字列
path = "C:\\Users\\Alice\\Documents"
print(f"ファイルパス: {path}")

文字列のフォーマット指定

f文字列を使用する際に、文字列のフォーマット指定を誤るとエラーが発生することがあります。

例えば、小数点以下の桁数を指定する際に、誤った桁数を指定したり、フォーマット指定子を間違えたりするとエラーが起きます。

pi = 3.14159
# 小数点以下2桁まで表示
print(f"円周率: {pi:.2f}")

# 誤ったフォーマット指定子
num = 1000
print(f"数値: {num:05d}")  # エラーが発生する

終わりに

f文字列を使う際によく起きるエラーについて、いくつかのポイントを紹介しました。

これらのポイントに注意して、正しくf文字列を活用していきましょう。

目次から探す