- 製造業出身のデータサイエンティストがお送りする記事
- 今回は自分のメモとして記事に残しておきます。
はじめに
Pythonのコードを読んでいて返り値が"_"(アンダースコア)になっているコードを見てなんだろう?と不思議に思って調べたので、メモとして残しておきます。
Return値を無視する
いろいろと調べたら下記のような文章を発見しました。
Pythonはライブラリが沢山あって、関数をインポートして使う事が多いです。そういう時、もし関数からのreturn値が複数あって使わない部分があったらアンダースコアを使ってreturn値のメモリの占用をしないまま廃棄ができます。
つまり、return値を無視しますという意味だったそうです。
例としては下記のような使い方をするそうです。
def get_tuple():
return ('amedama', 'Japan/Tokyo')
def print_name():
name, _ = get_tuple()
print name
if __name__ == '__main__':
print_name()
関数の返り値がタプルである以上、タプルで受けるしかないありませんが、アンダーバーから始まる変数の値は意識しなくて良い (使われない) という意図を伝えることができるそうです。