チャプター2.1: Pythonでの変数の基本 定義から操作まで

プログラミングにおける変数の定義と目的のイラスト

プログラミングを学ぶ上で最初に遭遇する概念の一つが「変数」です。この不思議でありながら基本的な要素は、コードの中でデータを格納し、操作するための重要なツールです。では、変数とは具体的に何でしょうか?これを理解することは、プログラミングの世界への入口とも言えるでしょう!ここからプログラミングの学習を始めていきます!

ただ読むだけではなく実際にコードを打ち込んでみて、自身でどういった挙動をするか、エラーが出るのか?等を確認してみる事をオススメします!

目次

変数とは何か?

変数を表す箱に異なるデータ型が入っているイラスト

変数の基本概念

プログラミングにおける「変数」とは、データを格納するための「容器」のようなものです。この容器には、数値、文字列、リストなど、さまざまな種類のデータを入れることができます。変数には名前(変数名)が付けられ、これによってプログラムのどこからでもそのデータにアクセスできるようになります。

変数は、プログラムが動作する間、データを一時的に保存するために使われます。例えば、ユーザーからの入力を保存したり、計算の結果を保持したりするために使用されます。変数の使用により、プログラムは柔軟かつ効率的にデータを処理することが可能になります。

変数の宣言と初期化

変数を使い始めるにあたって、特別な宣言が必要ないのが特徴です。値を代入するだけで、その変数は自動的に生成されます。

コード例

# 変数の初期化
greeting = "こんにちは"
number = 10

この例では、greetingという名前の変数に文字列"こんにちは"を、numberという名前の変数に数値10を代入しています。これらの変数は、プログラムの中で値を保持し、必要に応じて再利用ができます。

結果を出力してみよう

変数の値を見るためには、Pythonのprint関数を利用します。この関数は、指定された変数に格納された値をコンソールに表示します。

# 変数の値を出力
print(greeting)  # こんにちは
print(number)
#出力結果
10

このコードでは、greetingnumberという変数に格納された値を出力しています。こうすることで、変数に何が入っているのかを確認することが可能です。

変数使用時のエラー事例集

プログラミング初学者が文字列を変数に代入する際にやりがちな間違いの一つに、文字列の引用符の使い方の誤り等がありますので一例を紹介します。

コード例1:変数名の誤り

やりがちなエラーの一つ目は、変数名の誤用があります。Pythonでは変数名にはルールがあり、適切に従わないとエラーが発生します。

# 誤った変数名の例
1number = 10

このコードでは、変数名が数字で始まっていますが、Pythonでは変数名は数字で始めることができません。このようなコードを実行しようとすると、構文エラー(SyntaxError)が発生します。

変数名は英字、アンダースコア(_)で始める必要があります。また、変数名には英数字とアンダースコアを使用できますが、特殊文字や空白は使えません。

以下のように、変数名を正しく使用することでエラーを回避し、プログラムが正常に動作します。

# 正しい変数名の例
number1 = 10

#print関数で結果を出力
print(number1)

#出力結果
10

エラー例2:文字列の代入

やりがちなエラーの二つ目は、文字列を変数に代入する際によく犯す間違いの一つに、文字列の引用符の使い方の誤りがあります。

# 誤った文字列の代入の例
greeting = Hello, world!

このコードでは、文字列 Hello, world! を引用符なしで変数 greeting に代入しようとしていますが、Pythonでは文字列を引用符(シングルクォート '' またはダブルクォート "")で囲む必要があります。このようなコードを実行しようとすると、構文エラー(SyntaxError)が発生します。

# 正しい文字列の代入の例
greeting = "Hello, world!"

#print関数で結果を出力
print(greeting )

#出力結果
Hello, world!

このように、文字列を正しく引用符で囲むことで、Pythonはそれを文字列として認識し、エラーなく処理を行います。
引用符(シングルクォート '' またはダブルクォート "")はどちらでも使用可能で機能的な違いはありませんが、複数行に渡るコードを書く時は一貫性を保つ為にとちらかで統一して使用しましょう!

  1. 一貫性の重要性:コード内で一貫性を保つために、プロジェクト全体でシングルクォートかダブルクォートのどちらかを一貫して使用することが一般的です。これにより、コードの読みやすさが向上します。
  2. 引用符の中で引用符を使用する場合:文字列内に引用符を含める場合、外側の引用符とは異なるタイプの引用符を使用することで、エスケープシーケンスを避けることができます。例えば、シングルクォートで囲んだ文字列内でダブルクォートを使用することができます。
    • シングルクォート内のダブルクォート例: '彼は"こんにちは"と言った。'
    • ダブルクォート内のシングルクォート例: "彼女は'さようなら'と言った。"
  3. 複数行に渡るコメントやメモ:Pythonではトリプルクォート(''' または """)を使う事で複数行にわたるコメントやメモ(実行されない部分)を作成できます。
#ここはメモ(1行メモを残す場合に使用)←ここに記したメモはプログラムとして実行されない。
'''
ここはメモ(複数行のメモを残す場合に使用)←'''の間に記したメモはプログラムとして実行されない。
ABCDEF あいうえお
'''
print(greeting)

これらの概念をより深く掴むためには、実際にPythonを使って試してみることをお勧めします!Pythonがインストールされていれば、IDEやコマンドラインを通じてこれらのコードを実行できます。まずは上記のコードを一行づつ自分で入力してどういった動作をするか見てみましょう!
また、Web上にあるPythonのインタラクティブエディタも利用可能です。最も大切なのは、実際に自分でコードを書いて、その動作を体験することです。この実践を通じて、変数という基本的なプログラミングの概念がよりクリアになるでしょう。

変数の宣言と代入

Pythonでの変数の宣言と代入方法のビジュアルガイド

変数はプログラミングにおける基本的な要素です。プログラム内でデータを格納し、後で参照や操作を行うための「容器」として機能します。Pythonでは変数の宣言と代入が非常にシンプルで、初心者にも理解しやすい形式をとっています。このセクションでは、変数の宣言方法と、その変数に値を代入する基本的な手順について詳しく解説します。

変数の宣言

変数の宣言は値を代入することによって行われます。具体的には、変数名に値を割り当てることで、その変数が自動的に作成されます。変数の型を事前に宣言する必要はありません。これはPythonが動的型付け言語であるためです。

変数への値の代入

変数に値を代入するには、等号(=)を使用します。左側に変数名、右側に代入したい値を置きます。例えば、整数5を変数numberに代入する場合は、以下のように書きます。

number = 5

このコードは、numberという名前の変数を作成し、そこに整数の5を格納しています。
変数名は意味のある名前を選ぶことが推奨されます。

コード例とその解説

以下のコード例では、いくつかの変数に異なる種類のデータを代入しています。

# 整数の代入
number = 10

# 文字列の代入
# ※文字列を代入する場合は必ず、ダブルクォーテーション(")やシングルクォーテーション(')で文字を囲む
text = "こんにちは"

# 浮動小数点数の代入
pi = 3.14

# ブール値の代入
is_valid = True

これらの例では、それぞれの変数に対して、整数、文字列、浮動小数点数、ブール値が代入されています。Pythonでは、これらの異なる型のデータを同じ変数に代入することも可能です(ただし、通常は避けるべき)。

変数代入時のエラー事例集

変数代入を行う際にやりがちなエラー事例をまとめてみましたので実践時の参考にして下さい。

  1. エラー事例: 変数名が不適切
    • 事例: 2number = 10
    • エラー: SyntaxError: invalid syntax
    • 原因: Pythonの変数名は数字から始めることができません。
    • 解決策: 変数名は文字から始め、数字を含める場合は名前の途中か末尾に配置します。例: number2 = 10
  2. エラー事例: 変数名にスペースが含まれる
    • 事例: my number = 10
    • エラー: SyntaxError: invalid syntax
    • 原因: 変数名にスペースを含めることはできません。
    • 解決策: スペースの代わりにアンダースコア(_)を使用します。例: my_number = 10
  3. エラー事例: 予約語を変数名として使用
    • 事例: if = 10
    • エラー: SyntaxError: invalid syntax
    • 原因: ifはPythonの予約語であり、変数名として使用することはできません。
    • 解決策: 予約語を避け、独自の変数名を使用します。例: if_number = 10
  4. エラー事例: 未定義の変数の使用
    • 事例: print(my_var)
    • エラー: NameError: name 'my_var' is not defined
    • 原因: my_varという変数が宣言されていないにも関わらず使用されています。
    • 解決策: 変数を使用する前に、適切に宣言および初期化します。例: my_var = 5; print(my_var)
  5. エラー事例: クォーテーションの誤った使用
    • 事例: name = 'Yamada's Book'
    • エラー: SyntaxError: invalid syntax
    • 原因: 文字列内でシングルクォートを使用しようとすると、Pythonは文字列の終了と認識します。
    • 解決策: 文字列内でシングルクォートを使用する場合は、ダブルクォートで文字列全体を囲みます。例: name = "Yamada's Book"

練習問題

  1. 自分の名前を格納するための変数my_nameを作成し、そこにあなたの名前を文字列として代入してください。
  2. お気に入りの数を変数favorite_numberに代入してください。
答え
my_name = "your name"

解説:my_nameに文字列を代入するので、”your_name”の
your_name部分に名前を入力していれば正解!

favorite_number = 7

解説:favorite_numberに数値を代入するので、7の部分に好きな数字を入力していれば正解!

変数の型と変換

Pythonにおける変数の型と変換方法のインフォグラフィック

変数にはさまざまなデータ型があります。これらの型には、数値(整数や浮動小数点数)、文字列、リストなどが含まれます。プログラミングにおいてデータ型は非常に重要で、適切なデータ型を使用することでプログラムの効率と正確性が向上します。また、時にはある型から別の型へ変換する必要があります。このセクションでは、これらの基本的な型と型変換について学びます。

変数の主要なデータ型

  1. 整数(int): 数値を表す基本的なデータ型です。例: age = 25
  2. 浮動小数点数(float): 小数点を含む数値です。例: weight = 60.5
  3. 文字列(str): 文字の列、テキストを表します。例: name = "Alice"
  4. ブール値(bool): 真(True)または偽(False)の値を表します。例: is_student = True

型変換の基本

プログラム中で異なるデータ型間の変換が必要になることがあります。Pythonでは、簡単な組み込み関数を使ってこれを実現できます。

  • 整数に変換: int()関数を使用します。例: int("10") は整数の 10 になります。
  • 浮動小数点数に変換: float()関数を使用します。例: float("10.5") は浮動小数点数の 10.5 になります。
  • 文字列に変換: str()関数を使用します。例: str(10) は文字列の "10" になります。
# 整数への変換
number_str = "15"  # 文字列 "15" を number_str に代入
number_int = int(number_str)  # 文字列を整数に変換し、number_int に代入
print(number_int)  # number_int の値を出力(出力: 15)

# 浮動小数点数への変換
weight_str = "65.5"  # 文字列 "65.5" を weight_str に代入
weight_float = float(weight_str)  # 文字列を浮動小数点数に変換し、weight_float に代入
print(weight_float)  # weight_float の値を出力(出力結果: 65.5)

# 文字列への変換
age = 30  # 数値 30 を age に代入
age_str = str(age)  # 数値を文字列に変換し、age_str に代入
print(age_str)  # age_str の値を出力(出力結果: "30")

これらの例では、異なる型の変数を別の型に変換し、それを出力しています。このような型変換は、ユーザー入力の処理やデータの変換など、多くの場面で役立ちます。

変数の型と変換に関する一般的なエラー事例

エラー事例1: 型変換不可

事例: 整数や浮動小数点数に変換できない文字列を変換しようとした。
原因: 文字列 “abc” は数値に変換できない。

number_str = "abc" # 数値に変換不可能な文字列
number_int = int(number_str)  # ValueError

解決策: 数値に変換可能な文字列を使用する。

number_str = "123"  # 数値に変換可能な文字列
number_int = int(number_str)
print(number_int)  # 出力結果: 123

エラー事例2: 浮動小数点数から整数への不適切な変換

事例: 浮動小数点数を整数に変換しようとして小数部分が切り捨てられる。
原因: int() 関数は小数部分を切り捨ててしまう。

weight_float = 65.5
weight_int = int(weight_float)  # weight_int は 65 になる

解決策: 整数変換の前に意図的な丸めを行うか、切り捨てを意識する。必要に応じて round() 関数を使って丸める。
round 関数は、浮動小数点数を最も近い整数に丸める関数です。丸める際、0.5の場合は偶数への丸めが行われます(例: round(2.5)2 になります)。この関数を使用してから整数に変換すると、小数部分が適切に処理されます。

weight_float = 65.5
weight_rounded = round(weight_float)
print(weight_rounded)  # 出力結果: 66

# 整数型に変換
weight_float = 65.5
weight_int = int(weight_rounded)
print(weight_int)  # 出力結果: 65

エラー事例3: 数値演算中の型の混在

事例: 文字列型の数値と数値型の数値を演算しようとする。

number_str = "10"        #文字列の10を変数へ代入する
result = number_str + 5  #出力結果: TypeError

解決策: 文字列を整数に変換する。

number_str = "10"				#文字列の10を代入
number_int = int(number_str)	#上記の文字列の10を数値の10へ変換して代入
result = number_int + 5		#数値に変換した10+5を行いresultへ代入
print(result)  # 出力結果: 15

これらの解決策を採用することで、型変換に関する一般的なエラーを回避できます。
また、エラー処理を学ぶことはプログラミングスキルの向上にもつながりますので覚えておきましょう!

変数の型の確認とtype関数

Pythonのtype関数を使用した型確認の例

プログラミングにおいて、変数はさまざまな種類のデータを格納するために使用されます。Pythonでは、変数には特定のデータ型が関連付けられています。データ型とは、変数が格納できるデータの種類とその操作方法を定義するものです。Pythonは動的型付け言語であるため、変数の型はプログラムが実行される際に自動的に決定されます。

しかし、プログラミングを行う上で、特定の変数の型を知る必要がしばしばあります。ここで役立つのが type() 関数です。この関数は、指定されたオブジェクトの型情報を返します。

使用例

以下は type() 関数を使用して様々な変数の型を確認する例です。

num = 10
text = "Hello"
list_example = [1, 2, 3]
tuple_example = (1, 2, 3)
dict_example = {'a': 1, 'b': 2}

print(type(num))         # <class 'int'>
print(type(text))        # <class 'str'>
print(type(list_example))  # <class 'list'>
print(type(tuple_example)) # <class 'tuple'>
print(type(dict_example))  # <class 'dict'>

この例では、整数型 (int), 文字列型 (str), リスト (list), タプル (tuple), 辞書型 (dict) の各変数の型を type() 関数を使用して確認しています。
各型の説明はまた後のチャプターで説明をしますので、軽く読み進めて下さい。

復習・確認テスト

Pythonで変数 x に数値 10 を代入する正しいコードはどれでしょう?
CAP2.1TEST①
You got {{userScore}} out of {{maxScore}} correct
{{title}}
{{image}}
{{content}}

greeting  = "Hello, World!"

文字列 "Hello, World!" を変数 greeting に代入した場合、print(greeting) の出力結果はどれでしょう?
CAP2.1TEST②
You got {{userScore}} out of {{maxScore}} correct
{{title}}
{{image}}
{{content}}
整数 123 を文字列に変換する正しい方法は何か?
CAP2.1TEST③
You got {{userScore}} out of {{maxScore}} correct
{{title}}
{{image}}
{{content}}

a = 5

b = 3

a * b は式にするとa×b=???

変数 a に 5、変数 b に 3 が代入されている。これらを用いて a * b の結果は何か?
CAP2.1TEST④
You got {{userScore}} out of {{maxScore}} correct
{{title}}
{{image}}
{{content}}

まとめ: Pythonインストールと環境設定の完了

Pythonの変数の種類と使用方法を示すイラスト

このチャプターでは、Pythonにおける変数の基本的な概念と操作方法について学びました。変数の定義、宣言、そして代入の方法を理解し、また変数の型とその変換方法にも触れました。変数はプログラミングにおいて重要な役割を果たし、データを効率的に管理するための基本的なツールです。初心者にとっては、この章で学んだ変数の概念が、これからの学習の土台となります。

変数を使ってデータを保存し、操作する方法を理解することは、プログラミングスキルを向上させるための第一歩です。ここで学んだ知識を活用し、実際のプログラムに取り組む際に変数をうまく活用してみましょう。

目次