Python 言語を学ぼう-変数・関数・クラス編②-

本記事では Python 言語について勉強していきます。また本記事はスタートアップ記事を読んでいることが前提となります。まだ読んでいない方は、必ずこちらのサイトを参考にしてください。

本記事では Python 言語における変数について学習していきます。変数は関数やクラスの基本的な内容だけでなく、プログラミング全体で必要とされる知識です。よくよく勉強しましょう。

変数をなぜ設定するのか

変数の説明にはパソコン上のメモリの概念が必要なので、こちらについて解説します。

パソコンのメモリには、複数のスペースが存在し、それぞれのスペースに変数を格納できます。以下の図のようなイメージです。

メモリ名称

変数を設定すると、メモリ内の適切な場所に変数の名前とその値が関連付けられます。メモリに情報が保存されると、変数を取り出すことができます。

例として以下のコードについて考えてみましょう。

x : int = 1

このコードを実行する前と後で、メモリは以下のように変化します。

メモリの変化

このコードでは、変数 x を設定したので、メモリに x という名前で格納されます。メモリにしっかり保存されているか確認しましょう。以下のコードを実行してみてください。

print(x)

このコードを実行すると、メモリ x に保存された値が呼びされるので、 1 が出力されます。

このように、変数を定義することは、メモリに値を保存するということと同義になります。一方で、値のみを入力した場合、その変数は保存されません。

よって、プログラミングでは基本的に、変数を設定してプログラムを行うことになります。

変数名の付け方

変数名をつける、というのは、熟練のプログラマーでも非常に悩むポイントです。理由としては、誰が見ても分かりやすい変数名を、自分自身で考えつつ、基本的に期限付きでコードの作成を行わなければならないからです。そのため、初心者が感覚で変数名を名付けると、必ず失敗します。

そうは言っても、プログラマーができない人が、この問題を解決するのは非常に困難を極めます。そのため、本ブログでは、コード作成現場で実際に使用されているルールの中で、全てのプログラマーが気を付けているであろうリストを教えます。これらのリストを守れば、コードが全く読めないという状況は避けられます。

変数名を付けるときに気を付けるべきことリストは以下の通りです。

  • 基本的に英語
  • Python の予約語を変数名として使用しない。
  • 汎用的な変数名を使わない。
  • 長すぎる変数名を付けない。
  • 途中で変数名のスタイルを変えない。

それぞれ簡単に解説します。ただし、Pythonの予約語については本ブログとの趣旨とは異なりますので解説しません。気になる方は以下のサイトを参考にしてください。

Pythonのキーワード(予約語)一覧を確認するkeyword | note.nkmk.me
Pythonのキーワード(予約語)の一覧は標準ライブラリのkeywordモジュールで確認できる。 keyword --- Python キーワードチェック — Python 3.7.3 ドキュメント キーワード(予約語)は変数名、関数名、ク...

基本的に英語

プログラミング言語は英語のキーワードを使用してコードを書きます。そのため、アルファベットの日本語と英語が混同した場合、見ている側が混乱します。そのため変数名は全て英語で書くようにしましょう。

私は DeepL の使用、Google 検索で「○○ 英語」って打って調べる、以上の2つを実践しています。

汎用的な変数名を使わない。

以下の画像を見てください。

りんごたち

さて問題です。この 2 種類の写真から、日本で育ったりんごを当ててください。

今この記事を見ている皆さんは、この人は何を言っているんだい?と思ったと思います。また分かるわけないじゃん、って思った方やあてずっぽうで答えた方もいると思います。

じゃあ次の問題です。以下の画像を見てください。

リンゴたち2

さて問題です。この 2 種類の写真から、日本で育ったりんごを当ててください。簡単ですね。

変数で汎用的な名前を付けてはいけない理由は以上の例の通りです。りんごという汎用的な画像だけでは、伝えたい情報が伝わらないのです。コードで例を見てみましょう。以下のコードを見てください。

x : int = 100
y : int = 200
z : int = x + y
print(z)

まあ何やってるかはわかるけど、 x と y はいろいろな解釈ができそうです。

じゃあ次のコードを見てみましょう。

apple_price : int = 100
orange_price  : int = 200
total_price : int = apple_price  + orange_price  
print(total_price)

りんごとオレンジの値段を足し合わせたコードであることが一目でわかったかと思います。

ここまで分かりやすく書ける例は稀ですが、このように名前を明示するようにしましょう。

長すぎる変数名を付けない。

リンゴに関する、以下の 2 つの説明を見て下さい。

青森県産の大きいリンゴ

青森県青森市長島にある有名どころも有名どころにある糖度10度近くあって酸味と甘みのバランスが完璧にとれた究極で完璧なリンゴ

どっちが見やすいですか?

多くの情報が含まれている2つ目の説明は詳細ですが、読み手にとっては見づらくなります。一方、1つ目の説明は簡潔で、情報がすぐに把握できます。

このように、変数名を付ける際も同様の考え方が適用されます。変数名には情報を明確に含めることが重要ですが、情報が多すぎると変数名が見づらくなります。

じゃあ適切な長さって何?という話なのですが、これに関しては正解がありません。筆者の感覚基準ですが、10文字位にとどめておくと読みやすい傾向にあります。

途中で変数名のスタイルを変えない。

変数の付け方にはスタイルがあります。こちらのサイトでは説明しないので、こちらのサイトを確認してください。

【Python】よくある変数名の命名規則一覧 | GeekBlocks
この記事では、プログラミングにおける変数名の命名規則について解説します。 変数名の命名規則の種類 プログラミングにおいて、変数名を適切に命名することは非常に重要です。 変数名はプログラムの可読性や保守性に大きく影響を与えるため、適切な命名規

さて、上記のサイトを見た前提でここからは話していきますが、本サイトでは基本的にスネークケースを使用してプログラミングを記載します。これは PythonのPEP 8というコーディング規約に従っています。詳しくはこちらの記事を参照してください。

【Python】コードの記述方法(コーディング規約:PEP8) | OFFICE54
美しい(読みやすい)コードを記述したい、他のプログラマと同じルールの元コードを記述したい、という方はPEP8というスタイルガイドに従うといいです。本記事ではPythonにおける、コーディング規約(スタイルガイド)のPEP8に則ったコードの記...

まとめ

本記事では以下の事を学びました。

  • 変数を設定する理由はメモリにデータを保存するため
  • 変数名の付け方にはルールがある

以上で終わりです。お疲れ様でした。

[次回記事]

絶賛作成中

タイトルとURLをコピーしました