LoginSignup
288
243

More than 5 years have passed since last update.

【備忘録】Pythonにおけるアンダースコア"_"の役割について

Posted at

アンダースコア"_"の役割

Pythonのサンプルコードを読んでいて、

def __init__():

であったり、

def _variable_hogehoge(x):

みたいなアンダースコア二つ又は一つで書かれるのをよく見る。

アンダースコア二つで定義される関数は外部の参照を受けないもの。この場合、アンダースコアで囲う。
アンダースコア一つで定義される関数は参照はできるが、基本的に外部から参照しない ということを慣習化させたものらしい。

ここまでは知っていたが、こんなサンプルコードの一文が

_, loss_value = sess.run([train_op,loss])

なんのアンダースコアなのかなーと思い調べてみたところ
"Python で使わないタプルの値は “_” (アンダーバー) に代入するというプラクティス"

ようは、使わない返り値に変数を割り当てるのはナンセンスだから、アンダースコアで無視しましょうということ。

プログラム的に美しくなる気がする。

288
243
3

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
288
243