1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】printデバッグが爆速に!意外と知られていないf-stringの「=」便利機能

1
Posted at

はじめに

プログラムを書いていて、「ここの変数の値、今どうなってるかな?」と print() で確認すること、よくありますよね。

いわゆる printデバッグ です。

しかし、毎回以下のように書くのは面倒ではありませんか?

x = 42
print("x:", x)
# または
print(f"x = {x}")

変数名が増えるとタイピングが面倒ですし、書き間違いも発生します。
今回は、Python 3.8から導入された、このprintデバッグを劇的にラクにするf-stringの「=」記法をご紹介します!


f-stringの「=」記法とは?

f-string(フォーマット済み文字列リテラル)の波括弧 {} の中に、変数名の後に = を付けるだけで、変数名とその値を自動的にフォーマットして出力してくれます。

使い方

x = 42
y = "Hello"

# 変数名の後ろに「=」をつけるだけ!
print(f"{x=}")
print(f"{y=}")

出力結果

x=42
y='Hello'

なんと、x= や値のクォーテーションを自分で書く必要がなくなります。これだけでタイピング数が半分以下になりますね!


さらに便利な応用テクニック

この = 記法、実は変数だけでなく式や関数にも使えます。

1. 計算式をそのままデバッグする

width = 10
height = 20

# 計算式もそのまま評価して出力
print(f"{width * height=}")

出力:

width * height=200

2. 関数やメソッドの戻り値をデバッグする

text = "  python tips  "

# メソッド呼び出しの結果も一発
print(f"{text.strip().upper()=}")

出力:

text.strip().upper()='PYTHON'

3. 桁数やフォーマット指定と組み合わせる

小数点の丸め処理や、カンマ区切りなども同時に行えます。

pi = 3.1415926535

# 小数点以下2桁に丸めて出力
print(f"{pi=:.2f}")

出力:

pi=3.14

なぜこれを使うべきなのか?

  1. タイピング量の削減: 変数名を2回書く必要がなくなります。
  2. コピペミスの防止: print(f"width = {height}") のような、変数名のコピペミスによる混乱が防げます。
  3. コードがすっきりする: デバッグ用のコードが短くシンプルになり、後で消すのも簡単です。

まとめ

明日からの開発では、デバッグ時に print(f"{var=}") をぜひ使ってみてください。
ちょっとした小技ですが、日々のコーディングのストレスがぐっと減るはずです!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?