Python プログラム 高専3年生

【Python】Python言語入門③~変数の使い方~

Pythonの変数とデータ型は、プログラムを書く上で非常に重要な基礎となります。ここでは、変数の宣言方法、命名規則、データ型の分類について説明し、主要なデータ型である boolintfloatcomplexstrlist について詳しく見ていきます。

変数とは

変数とは、プログラム中でデータを一時的に保持するための名前付きの入れ物のようなものです。

変数に値を割り当てることで、その値をプログラムの他の部分で再利用することができます。

コンピュータのメモリに格納されたデータに名前を付けてアクセスできるようにする仕組みが「変数」です。

x = 10
y = 5
z = x + y
print(z)  # 15が出力される

上記のコードでは、変数 xy にそれぞれ 105 という値を代入し、z には x + y の結果が代入されています。

このように、変数を使ってデータを保存し、その後の処理で再利用します。

変数の仕組み

  1. 名前: 変数には名前を付けて、そのデータにアクセスできるようにします。この名前を「識別子」と呼びます。
  2. : 変数には実際のデータ、つまり「値」を格納します。例えば、x = 10 では変数 x に値 10 が代入されています。
  3. メモリのアドレス: 変数が保持している値は、コンピュータのメモリのどこかに格納されています。変数を使うことで、メモリの複雑なアドレスを意識せず、値にアクセスすることができます。

変数の利点

変数を使うことで次のような利点があります:

  1. 再利用可能: 一度変数に値を代入すれば、その変数名を使って何度でもその値を使用できます。
  2. 可読性の向上: 値そのものではなく、名前付きの変数を使うことでプログラムがわかりやすくなります。
  3. 柔軟性: 変数の値を後で変更できるので、動的な処理が可能になります。

変数の重要な概念

  1. 変数の宣言: Pythonでは、変数の宣言時にデータ型を指定する必要はなく、値を代入するだけで変数が自動的に作成されます。例えば、x = 10 という式を実行すると、Pythonは自動的に x に整数型(int)の値 10 を代入します。
  2. データ型の自動決定: 変数にどのようなデータ型が割り当てられるかは、代入された値によって自動的に決まります。
    • 例えば、x = 10 では x は整数(int)として扱われますが、y = 3.14 とすれば y は浮動小数点数(float)になります。
  3. 可変性: Pythonでは、変数の値を後から変更することができます。これを「可変性」といいます。例えば、x = 10 とした後に x = 20 とすれば、変数 x の値は 20 に更新されます。
  4. 動的型付け: Pythonは「動的型付け」という特徴を持っています。これは、変数にどのようなデータ型の値でも自由に代入できるという意味です。最初に整数を代入した変数に、次に文字列やリストなどを代入することも可能です。
x = 10  # xは整数型
print(x)  # 10が表示される
x = "Hello"  # xに文字列を代入
print(x)  # Helloが表示される

変数の型については後程詳しく説明します。

変数の宣言

Pythonでは、変数を使用するために特別な宣言文は必要ありません。変数に値を代入することで、その変数が初めて定義されます。Pythonは動的型付け言語なので、変数に代入される値に応じて自動的にデータ型が決まります。

x = 10  # 整数型(int)
y = 3.14  # 浮動小数点数型(float)
name = "Alice"  # 文字列型(str)

識別子の命名規則

変数名(識別子)には以下のルールがあります:

  • 英字(A-Z、a-z)、数字(0-9)、アンダースコア(_)を使用できる。
  • 変数名は数字で始めてはいけない。
  • 大文字と小文字は区別される。
  • 予約語(Pythonのキーワード)は変数名に使えない。

my_var = 100  # 有効な変数名
myVar = 200  # 大文字小文字は区別される
_underscore_var = 300  # 有効な変数名
2nd_var = 400  # 無効な変数名(数字で始まっている)

変数の破棄(削除)

変数を破棄(削除)したい場合は、del キーワードを使います。これにより、その変数はメモリから削除され、以後その変数を使用しようとするとエラーが発生します。

x = 10
del x  # 変数xを削除
# print(x)  # エラー: 変数xは定義されていない

定数

Pythonには定数の概念がありませんが、慣習的に、定数として扱いたい変数はすべて大文字で命名します。Pythonでは値を変更できてしまうため、あくまで「変更しないつもり」という意味で定数の名前を大文字にします。

PI = 3.14159  # 定数として扱う(値を変更しないつもり)

データ型の分類

Pythonにはさまざまなデータ型があり、基本的なデータ型は次の通りです:

  • bool(ブール型): 真偽値を表す型

True または False の2つの値を取ります。条件式の結果やフラグに使用されます。

is_valid = True
is_done = False
  • int(整数型): 整数を表す型

整数を表すデータ型です。Pythonでは桁数に制限がなく、非常に大きな整数も扱うことができます。

x = 100
y = -50
  • float(浮動小数点数型): 実数(小数)を表す型

実数(小数点を含む数)を表します。一般的に小数点以下の計算に使います。

pi = 3.14159
g = 9.81
  • complex(複素数型): 実部と虚部を持つ複素数を表す型

複素数を表す型です。実部と虚部の2つの成分を持ちます。虚数部は j を使って表現します。

z = 2 + 3j  # 2が実部、3jが虚部
  • str(文字列型): 文字列を表す型

文字列を表すデータ型です。シングルクォート(')またはダブルクォート(")で囲んで表現します。

name = "Alice"
greeting = 'Hello, world!'
  • list(リスト型): 複数の値を順序付けて保持する型

リストは、複数の値を保持できるコレクション型です。リスト内の要素は変更可能(ミュータブル)で、任意の型を含むことができます。[] でリストを作成します。

numbers = [1, 2, 3, 4, 5]
mixed_list = [10, "Hello", 3.14, True]

リスト内の要素は、インデックス(0から始まる番号)を使ってアクセスできます。

print(numbers[0])  # 1が表示される
numbers[2] = 100  # 3番目の要素を100に変更

型の確認方法

Pythonでは、変数の型(データ型)を確認するために、type() 関数を使います。この関数を使うと、指定した変数や値のデータ型を返してくれます。

type() 関数の基本的な使い方は次のとおりです:

type(変数)

この関数に変数を渡すと、その変数のデータ型が表示されます。

# 変数に値を代入
x = 10  # 整数型(int)
y = 3.14  # 浮動小数点数型(float)
name = "Alice"  # 文字列型(str)
is_valid = True  # ブール型(bool)

# 変数のデータ型を確認
print(type(x))  # <class 'int'>
print(type(y))  # <class 'float'>
print(type(name))  # <class 'str'>
print(type(is_valid))  # <class 'bool'>

出力例

<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>

課題

次の指示に従って、プログラムを作成してください。

問題

  1. リスト my_list を作成し、データ 5"apple"3.14False を格納。
  2. リストの2番目の要素を "orange" に変更。
  3. リストの最後に複素数 2 + 3j を追加。
  4. すべての要素を print() で表示し、それぞれの要素のデータ型を表示。

出力例

5 <class 'int'>
orange <class 'str'>
3.14 <class 'float'>
False <class 'bool'>
(2+3j) <class 'complex'>
解答例はこちらをクリック
# リストの作成
my_list = [5, "apple", 3.14, False]

# 2番目の要素を"orange"に変更
my_list[1] = "orange"

# リストに複素数 (2+3j) を追加
my_list.append(2 + 3j)

# 各要素とそのデータ型を表示
for item in my_list:
    print(item, type(item))

次回はこちら

Comming soon

Follow me!

-Python, プログラム, 高専3年生
-, ,

PAGE TOP