PyQオフィシャルブログ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

Pythonの変数名の'_'(アンダースコア)の意味は?

f:id:nana_yu:20180316121637j:plain
大村こんにちは、PyQサポートの大村です。今日のPythonお悩み解決は、『変数名の'_'(アンダーバー)の意味は?』という質問に答えていきます。
pyq.jp

Pythonお悩み解決とは?

オンライン学習サービス「PyQ」のサービスの一つ、学習サポートに寄せられた質問の中から PyQユーザーだけでなく、学習者みなさんに役立つプログラミング言語Python一般に関する質問を選んでご紹介し、解説するコーナーです。

プログラミング学習者の目線から見たつまづきを解決していくよう、現役プログラマーのサポートチームがお答えします。

質問内容「変数名の'_'(アンダースコア)の意味は?」

PyQ の問題中に order_dozen という名前の変数がでてきます。この変数名中の '_' (アンダースコア)の意味が知りたいとご質問を受けました。

まず、Pythonの変数の命名規則についておさらいしましょう。

Pythonの変数名に利用できる文字は以下です。

  • アルファベット(大文字・小文字)
  • アンダースコア
  • 数値(但し、変数名の先頭には利用できない)

また、Pythonプログラムの中ですでに扱いが決まっているキーワード(ifimport など)は変数名として利用できません。

以下は、変数名として正しくありません。

  • 10x : 数値からはじまる
  • if : キーワード
  • a b : 途中にスペース
  • @a,$a,aa## : 記号を利用

話を'_'(アンダースコア)に戻します。

これは変数名をつける上での慣習の様なもので、複数の単語(例: order, dozen)を使った変数名をつけたい場合は、単語を'_'(アンダースコア)で繋げます。

  • 注文という意味の変数 -> order
  • 注文ダースという意味の変数 -> order_dozen
  • 注文のリストという意味の変数 -> order_list

あくまで慣習ですので、 order_dozenorderdozen にしても dozen にしても動作は変わりません。 ただ、'_'(アンダースコア)をつけることで、単語の区切りがわかるため見やすくなります。

そのほかのPythonで使われる_(アンダースコア)について

変数で使われる以外に、Python言語のそのほかの_(アンダースコア)の使われ方は 以前のPythonお悩み解決の記事にまとめられています。 こちらもぜひご覧ください。

blog.pyq.jp

PyQブログの更新は、SNSで告知しています。

その他リリース情報・Pythonお役立ち情報なども配信しています。 Python・プログラミング学習の情報に興味のある方は フォローしていただくと、最新情報をいち早く知ることができます。

PyQ公式Twitter

twitter.com

PyQ公式Facebook

PyQ

ブラウザのみでPythonを学習できるオンラインサービス「PyQ」はこちら

pyq.jp

Copyright ©2017 BeProud Inc. All rights reserved.