Pythonでの変数

2章 Pythonでの変数

2.1 Pythonでの変数について

目的

  • Pythonでの変数について学ぶ

概要

本章ではPythonでの変数について学びます。
具体的にはPythonでの変数宣言の方法や変数の使い方などを学びます。

使用するコマンド

# var.pyを作成します
touch var.py

# var.pyを実行します
python var.py

編集するファイル

  • var.py

2.2 手順

Pythonで変数を作ってみよう

早速、Pythonで変数を作ってみましょう。

var.pyというファイルを作成します。

touch var.py

その後、エディタでvar.pyの内容を以下のように変更します。

hello = 'Hello, Python!'

print(hello)

Pythonでの変数宣言は以下のようにhello = 'Hello, Python!'とします。

hello = 'Hello, Python!'

上記のコードでは'Hello, Python!'という文字をhelloという変数に保存しています。

Python動的型付けなプログラミング言語と呼ばれており、変数の型を宣言しなくても新しい変数を作成することができます。

つまり、代入した値が数値なら数値型に、文字列なら文字列型に型を自動的に判別してくれます。

逆にC言語C++などの静的型付けなプログラミング言語では以下のように変数の型を宣言しなくてはなりません。

// CやC++では変数の型を宣言する必要がある
int num = 42;

Pythonでは上記のように変数の型を宣言しなくてもよいのでプログラミング初心者の人でも学習が容易になっています。

では、作成したvar.pyを実行してみます。

python var.py

実行するとターミナルにHello, Python!と表示されると思います。

Hello, Python!

次に、num = 42という変数を追加し、print()でターミナルに表示します。

hello = 'Hello, Python!'
num = 42
print(hello)
print(num)

42という表示が追加されているか実行して確認してみましょう。

python var.py

以下のようにHello, Python!42が表示されていればOKです。

Hello, Python!
42

2.3 変数の種類

Pythonの変数には2つの種類があり、ローカル変数グローバル変数と呼ばれています。
その他、静的変数と呼ばれるものもありますが、これは関数内で宣言されたローカル変数の値を保持し続けるものです。そのため変数の機能の一つといった方が適切です。

ローカル変数

ローカル変数とは以下のような形で作成される変数です。

name = "侍太郎"

ローカル変数は決められた範囲内(スコープといいます)でしか使用することができない性質があります。
後述する関数内などで宣言されている場合は、その関数内でのみ使用することができます。

例えば、以下のようなコードではローカル変数を使用できません。

def hoge():
    name = "侍太郎"

print(name)
# ターミナルでエラーが出力される

関数に関しては3章 Pythonでの関数にて解説します。

グローバル変数

グローバル変数とはどこからでも参照することができる変数のことです。

例えば、以下のように関数内でもnameを使用することができます。

name = "侍太郎"

def func():
    print(name)

print(name)
# ターミナルに侍太郎と表示される

func()
# ターミナルに侍太郎と表示される

Pythonは使用するグローバル変数関数内で宣言する必要はなく、そのまま呼び出すだけで同じように使えます。

2.4 変数の型の種類

Python変数は型を意識しなくてもコードが書けますが、型について知っておくことでよりエラーや意図しない動作が起きにくいコードを書くことができます。

ここでは、Pythonでの変数の型について紹介していきます。

整数

整数は以下のように小数点がない数値を変数に保存した時の型です。

num = 42

数値ですので以下のように計算することができます。

num = 42

print(num + 4)
# 46

print(num - 4)
# 38

print(num / 2)
# 21.0

print(num * 2)
# 84

浮動小数点数

浮動小数点数とは以下のように小数点がある数値を変数に保存した際の型です。

この型も数値ですので以下のように計算することができます。

num = 4.2

print(num + 2.0)
# 6.2

print(num - 2.0)
# 2.2

print(num / 2.0)
# 2.1

print(num * 2.0)
# 8.4

文字列

文字列とは以下のような文字を変数に保存した時の型です。

name = "侍太郎"

以下のように+を使って文字をつなげることもできます。

name = "侍太郎"

print(name + "さん")
# 侍太郎さんとターミナルに表示されます

配列

配列では以下のように複数の値を一つの変数に保存することができます。

names = ["大泉", "鈴井", "藤村", "嬉野"]

print(names[1])
# 鈴井とターミナルに表示されます

また配列に保存されている値を取得する際にはnames[1]のように取得したい値の位置(インデックスといいます)を指定します。注意が必要な点としてはインデックス0からはじまります。

例えば、先ほどのnamesの場合だと先頭にある大泉を取得する際にはnames[0]としなければなりません。
また、一番最後の嬉野を取得する場合はnames[3]とする必要があります。

また、以下のようにインデックスに文字列を使うこともできます。

ages = {
    "大泉": 46,
    "鈴井": 57
}

print(ages["鈴井"])
# 57 とターミナルに表示されます

大泉:46のように指定する配列は、連想配列とも呼びます。 通常の配列と連想配列に大きな違いはありませんが、通常の配列は数値を添え字にするのに対し、連想配列の添え字は数値に限らず文字列を添え字にすることが出来ます。

その為以下のようにデータを取得することもできます。

ages = {
    "大泉": 46,
    "鈴井": 57
}

print(ages["大泉"])

2.5 課題

nameという変数を作り、print()で自分の名前をターミナルに表示してみましょう。

解答

name = "侍太郎"
print(name)

上記のようにname = "自分の名前"で変数を作成し、print()で表示させます。

まとめ

いかがでしたか?

Pythonでは変数の型を意識しなくても良いので効率よくコードを書くことができます。

次の章ではPythonでの関数について解説します。

もし学習に行き詰まってしまったら...無料体験レッスンに
参加してみませんか?

SAMURAI ENGINEERは、
月額7000円からマンツーマン
レッスンができます。

現役エンジニアがあなたのプログラミング学習を徹底サポート。
未経験でも挫折せず、最短で目標達成するために必要な
手厚いサポート体制が揃っています。
少しでも興味をお持ちでしたら、
無料体験レッスンへお越しください。