機械学習・ディープラーニングが一から学べる大人気『脱ブラ』が無料に!

【Python 入門】変数の基本を初学者向けにわかりやすく解説!

こんにちは、機械学習の講師をしている尾宮です!

本記事では Python における変数の基本を解説しています。抑えておきたいポイントをサンプルコードとセットで紹介!

変数について理解を深めたい方の参考になれば幸いです。

実行環境

  • Google Colaboratory
  • Python:3.92

変数とは?

Python 入門 変数 図

変数とは、数値や文字列などの値を格納できる名前が付いた入れ物です。変数に値を格納したり、更新したりすることで、計算結果を一時的に保持できます。

変数の構文
変数 = 値
MEMO
変数の名前は、変数名といいます!

変数に値を代入する方法

変数に値を代入するときは、= の記号を使います。サンプルコードは以下の通りです。

ipynb ファイル
# 数値 3 を代入
a = 3

# 文字列「Hello, World!」を代入
b = 'Hello, World!'

# 数値 100 を再代入
a = 100

サンプルコードのように、変数 a は、入れ物であるため、再代入すると、値が変わります

また、文字列を変数に格納する際は、'(シングルコーテーション)、もしくは "(ダブルコーテーション)で囲みましょう。

MEMO
Python の文法における は、数学的な意味である (等しい)とは異なり、代入を意味します!

変数の値を確認する方法

Google Colab で、変数に代入した値を確認する方法は2つあります。

  • 変数をセルに記述し、実行
  • print(変数) 関数を実行

サンプルコードは以下の通りです。

ipynb ファイル
# 数値 3 を代入
a = 3
a
# 実行結果
# 3

# 数値 100 を再代入
a = 100
print(a)
# 実行結果
# 100
MEMO
print(変数) のように Python には予め多くの関数が定義されています。

そのような関数を組み込み関数 (built-in function) といいます。

注意
実は、変数を実行した時と print(変数) を実行した時では、挙動が異なるケースがあります

詳細については、下記事をご覧ください。
参考 2. Python 入門 2.3. エスケープシーケンス — ディープラーニング入門Chainer チュートリアル

変数名の決め方

変数名は基本的に自由に決定できます。しかし、他の方々や未来の自分が理解しやすいように、わかりやすい英語、かつ英単語をベースに変数名を付けるのが一般的です。

  • ○(英単語):age
  • △(ローマ字):nenrei

また、アルファベットの大文字と小文字は区別されます。以下、サンプルコードです。

ipynb ファイル
a = 1
A = 'kikagaku'

print(a)
# 実行結果
# 1

print(A)
# 実行結果
# kikagaku
MEMO
Python で英単語を複数組み合わせて変数名にしたい時は、スネークケースで命名するのが一般的です。

スネークケースとは dog_name のように、単語は全て小文字、かつ単語と単語を _(アンダースコア)で繋げる命名規則になります

詳細は Python コードのスタイルガイドがまとめられている PEP: 8 をご覧ください!
参考 はじめに — pep8-ja 1.0 ドキュメントPEP: 8 公式

不適切な変数名

ただし、エラーが出る変数名もあります。以下、NG 集です。

  • 変数名の頭文字が数字のとき
  • _(アンダースコア)以外の記号を使用しているとき
  • 予約語(Python の文法上、すでに意味がある単語)を使用しているとき
まず、変数名の頭文字が数字のとき、エラーが出力されます。
例えば、ab12 という変数名は大丈夫ですが、12ab999 は頭文字が数字なので、エラーとなります

サンプルコード
# OK
ab12 = 'kikagaku'
print(ab12)
# 実行結果
kikagaku

# NG
12ab = 'kikagaku'
# SyntaxError: invalid syntax

# NG
999 = 'kikagaku'
# SyntaxError: can't assign to literal

また、_ 以外の記号は変数名に使用できないので、注意しましょう!

サンプルコード
# NG
*a = 100
# SyntaxError: starred assignment target must be in a list or tuple

b- = 30
# SyntaxError: invalid syntax

そして、変数名として予約語も使用できません。予約語とは、Python の文法上、すでに意味を持つ単語です。例えば forif などが挙げられます。

その他、予約語を確認したい方は、公式をご覧ください!
参考 2. 字句解析Python 3.9.4 ドキュメント

サンプルコード
for = 1
# SyntaxError: invalid syntax

if = 'kikagaku'
# SyntaxError: invalid syntax

最後に

本記事では Python の基本となる変数について解説しました。以下、まとめになります。

  • 変数とは、名前のついた入れ物
  • 変数の値を確認する方法は、変数名を最後のセルに記述し実行 or print(変数) を実行
  • 変数名の決め方には、基本的なルールあり

変数はプログラミングを行う上で、ほぼ必ず使用しますので、しっかりと理解しておきましょう!

もし忘れてしまったら、本記事を思い出して再度復習してみてください。

Python 学習している方々のお力添えになれば幸いです!

参考リンク

参考 Python 3.9.2 ドキュメント 参考 Chainer チュートリアル

大人気コース「Python & 機械学習入門コース」が無料!

現在 e ラーニングプラットフォーム「キカガク」に無料登録すると、これまで多くの方にご受講いただいた、Python の基礎から機械学習の数学やプログラミングまでを学べる大人気コース「Python & 機械学習入門コース」が無料です。

好評である手書きの数学とハンズオン形式のプログラミングを通じて、初学者でも数学の理論から実装まで一から学習できます。また、動画で丁寧に解説しているため、迷うことなく最後まで継続して学習しやすいです。

Python の基礎から機械学習を学習したい方は、ぜひ教材の1つとしてご利用ください!