Pythonの変数の初期化を現役エンジニアが解説【初心者向け】

初心者向けにPythonの変数の初期化について現役エンジニアが解説しています。変数の初期化は、変数を定義して最初の値を設定することで、カンマで区切って複数の変数を宣言することも出来ます。Pythonでは値の無い変数の宣言だけすることは出来ません。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonの変数の初期化について解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonの変数の初期化について詳しく説明していくね!

大石ゆかり

お願いします!

 

変数の初期化とは

変数を定義して、最初の値を設定することを「変数の初期化」と言います。

Pythonの変数の初期化

変数の初期化について簡単な例で説明します。

if __name__ == '__main__':
  hoge = 'fuga'
  print(hoge)

このコードを実行すると以下のようになります。

$ python main.py
fuga

2行目の hoge =”fuga”の部分で、変数hogeを定義して、最初の値は文字列”fuga”を設定、つまり初期化を行っています。

ちなみに、Python では一部の他の言語のように、変数の定義のみを行うことはできません。たとえば JavaScript では次のようなコードを書くことができます。

//js
let hoge; // 変数定義
hoge = 'fuga'; // 値は後から設定

console.log(hoge);
// => 'fuga'

同じようなコードをPythonで書くとエラーになるので注意しておきましょう。

if __name__ == '__main__':
  hoge # ここでエラー
  hoge = 'fuga'
  print(hoge)

# 実行するとエラーになる
$ python main.py
Traceback (most recent call last):
  File "main.py", line 2, in 
    hoge
    NameError: name 'hoge' is not defined

 

[PR] Pythonで挫折しない学習方法を動画で公開中

Pythonで複数の変数を一括して初期化する書き方

複数の変数を一括して初期化したい場合には、以下のようにカンマ区切りで書きます。

if __name__ == '__main__':
  a, b = 1, 2
  print(f"a = {a}")
  print(f"b = {b}")

$ python main.py
a = 1
b = 2

あまり使う機会はないとは思いますが、一部のみをlistとして初期化したい場合などでも、変数名の定義と初期値とで書き方を合わせれば大丈夫です。

if __name__ == '__main__':
  my_list, [a, b] = [1, 2], [3, 4]
  print(f"my_list = {my_list}")
  print(f"a = {a}")
  print(f"b = {b}")

$ python main.py
my_list = [1, 2]
a = 3
b = 4

 

実際に書いてみよう

ここまでの説明をもとに実際に書いてみましょう。

import json
if __name__ == '__main__':
  a = 1
  print(a)
  b, c = 2, "3"
  print(b, c)
  d, my_json_string = 4.0, json.dumps({"a": a, "b": b, "c": c})
  print(d, my_json_string)

このコードを実行すると、以下のようになります。初期化時に json.dumps のようなメソッドの実行結果を設定することもできるので覚えておきましょう。

$ python main.py
1
2 3
4.0 {"a": 1, "b": 2, "c": "3"}

 

監修してくれたメンター

メンター稲員さん

フリーランスエンジニア。大手SEからフリーランスのWeb系エンジニアにジョブチェンジ。

経験言語:Ruby、Rails、Python、C/C++、Java、Perl、HTML/CSS3、JavaScript、CoffeeScript,Node.js。
おうち大好きマンです。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。