Pythonの変数に関して押さえておくべき基礎知識

Pythonのプログラミングでいう変数とは、値(データ)を一時的に保管するための箱のようなものです。

変数を使いこなせるようになると大変便利です。例えば、 1200 * 3 だけだと、何の計算式なのか分かりません。しかし tanka * kosuu と書くと一目で何の計算かが分かりますよね。

さらに条件分岐を覚えると、個数が10個以上なら割引するというような操作を入れることもできます。

そのためにも、ここでは、

  • Pythonの変数宣言について
  • Pythonの変数の使い方とルール(数値と文字列の代入)
  • Pythonの変数を初期化する方法
  • Pythonの変数の型について

をそれぞれ解説していきます。

目次

1. Pythonの変数宣言について

Pythonの変数は、宣言文がないため非常に手軽に扱うことができます。

例えば、他の言語では、整数の変数を作る時、 int num = 10 というように、まず int という宣言文を書くことで、 num という変数の「型」が整数であることを宣言する必要があります(「型」については「Pythonの型の確認と変換」をご覧ください)。

Pythonでは、宣言文は必要ありません。 num = 10 と書いたら、変数 num の型は 10 という整数だと、プログラムが自動で判断してくれます。

これがPythonが、シンプルで、見やすく使いやすいプログラミング言語だと言われている理由の一つです。

2. Pythonの変数の使い方とルール

Pythonの変数に値を指定することを「代入」といいます。代入は「変数名 = 値」で行います。

そして、この時の = を「代入演算子」と言います。演算子については「Pythonの演算子」で解説しているのでご確認ください。

2.1. 変数への数値と文字列の代入

それでは、早速、変数に値を代入してみましょう。変数には、数値も文字列も代入することができます。

In [1]:
# 三角形の面積
width = 20.0
height = 10.0
area = width * height / 2
area
Out[1]:
100

この例では、width という変数に 20.0 を、height と言う変数に 10.0 を代入しています。そして、 area は width*height/2 を代入しています。変数 area を出力すると、20.0*10.0/2 の計算結果である 100 が表示されます。

次に文字列の代入を見てみましょう。

In [2]:
a = "This is"
b = " a"
c = " test text"
a + b + c
Out[2]:
'This is a test text"

簡単ですね。

2.2. 変数の初期化

一度何らかの値を代入した変数に、再度「空の値」を代入することによって、その変数を初期化することができます。

以下をご覧ください。

In [3]:
a = ""
a + b + c
Out[3]:
' a test text"

この例では、変数 a に代入していた This is という文字列に、「空の値」を再代入して初期化しています。そのため、a の変数が空になり、 a + b + c = a test text となります。 

2.3. 変数名のつけ方のルール

変数名のつけ方にはいくつかのルールがあります。以下は押さえておきましょう。

  • 半角英数とアンダースコア「 _ 」でつける。
  • 平仮名や漢字は一般的には使わない。
  • 慣例として変数名は小文字でつける。
  • 変数名の一文字目には数字は使えない。
  • +, -, /, %, (, ), # のような演算子や記号は使えない。
  • and, as, assert, break, class, continue, defなどの予約語は使えない。
  • 大文字と小文字は区別される。
  • コードの確認や修正を効率よく行うために a や b ではなく、何の値を示す変数なのか分かるように名前をつける。

例えば、my_name、 my_list のようにアンダースコアで連結します。myName や myList のように単語の区切りを大文字にするつけ方もありますが、Pythonでは前者で示すのが一般的です。

また、大文字と小文字は区別されるので point_a や point_A は別の変数として扱われます。

2.4. Pythonの変数には型はない

変数に代入する「値」には型はありますが、変数そのものには型はありません。そのため文字列が入っている変数に数値を再代入しても、値が置き換わるだけでエラーにはなりません(型について詳しくは「Pythonの型」をご確認ください)。

以下をご覧ください。

In [2]:
price = "未定"
price = 120 * 2 #値が再代入され置きかわります
price
Out[2]:
240

3. 変数の複合代入演算子

次に「複合代入演算子」について解説します。

3.1. 複合代入演算子とは

まずは以下をご覧ください。

In [3]:
age = 19
age = age + 1
age
Out[3]:
20

1行目では変数 age には 19 が代入されています。そして2行目では変数 age は age + 1 と再代入されています。もともとの age の値が 19 のため、19 + 1 = 20 になります。以降、age の値は 20 になります。

このように変数の値を更新するために、式に、その変数自体を入れて演算を行うことはよくあります。

そのため、こうした演算を素早く行うために「複合代入演算子」というものが用意されています。

3.2. 複合代入演算子の一覧

以下が一覧です。

 演算子  例  説明
 +=  a += b  a = a + b と同じ。a に b を足した値を代入。
 -=  a -= b  a = a – b と同じ。 a から b を引いた値を代入。
 *=  a *= b  a = a * b と同じ。a に b を掛けた値を代入。
 /=  a /= b  a = a / b と同じ。a を b で割った値を代入。
 //=  a //= b  a = a // bと同じ。a を b で割った整数値を代入。
 %=  a %= b  a = a % bと同じ。a を b で割った商の余りを代入。
 **=  a **= b  a = a ** b と同じ。a を b 回掛け合わせた値を代入。

いくつか例を見てみましょう。

In [3]:
a = 5
b = 10
a += b
a
Out[3]:
15
In [4]:
a *= b
a
Out[4]:
50
In [5]:
b **= a
Out[5]:
1000000

3.3. 変数の初期化と += を使った文字列の結合

複合代入演算子の += は、数値だけではなく文字列を結合することもできます。

以下の例では、+= を使った文字列の結合と、変数の初期化を組み合わせて使っています。

In [6]:
who = "猫"
text = "は嫌い"
text = ""    #変数の初期化
text += "我輩は"   #変数textに我輩はを代入
text += "who"    #「我輩は」に「猫」を結合
text += "である。"    #「我輩は猫」に「である」を結合
text
Out[6]:
'我輩は猫である。'

このように、+= による文字列結合や、変数の初期化を覚えておくとコードを素早く書くことができるようになっていきます。

4. まとめ

Pythonの変数について解説してきました。

変数への数値や文字列の代入や、複合代入演算子、変数の初期化などは、コードを書く際に必要不可欠なので、しっかり覚えていきましょう。

Python初心者におすすめのプログラミングスクール

「未経験からでもPythonを学べるプログラミングスクールを探しているけど、色々ありすぎてわからない」なら、次の3つのプログラミングスクールから選んでおけば間違いはありません。

Aidemy Premium:全くの初心者ができるだけ効率よく短期間で実務的に活躍できるAI人材になることを目的とした講座。キャリアカウンセリングや転職エージェントの紹介などの転職支援も充実しており、受講者の転職成功率が高い。

AIジョブカレPythonの基本をおさえた人が、実際に機械学習やディープラーニングを活用できるようになるための講座。転職補償型があるなどキャリア支援の内容が非常に手厚く、講師の質も最高クラス。コスパ最高。Python初心者用の対策講座もある。

データミックスプログラミング経験者のビジネスマンが、更なるキャリアアップのためにデータの処理方法を学んでデータサイエンティストになるための講座。転職だけでなく起業やフリーランスとして独立する人も多い。Python初心者用の対策講座もある。

特に、あなたが以下のような目標を持っているなら、この中から選んでおけば間違いはないでしょう。

・未経験からPythonエンジニアとして就職・転職したい
・AIエンジニアやデータサイエンティストとしてキャリアアップしたい
・起業やフリーランスを視野に入れたい

理由は「Python初心者のためのおすすめプログラミングスクール3選」で解説しています。



よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次
閉じる