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

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

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,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ではPythonを使って機械学習の基礎を学ぶPythonオンライン講座を開催しています。

初心者向けの書籍を使って人工知能(AI)や機械学習について学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。