変数を定義し、使ってみよう。
変数を使ってみよう!
オブジェクト指向のオブジェクトって?
今回は変数の定義の仕方と使用法について説明します。
Pythonの変数について本当に理解するためにはオブジェクト指向の知識が多少必要です。
まずは、オブジェクト指向のオブジェクトとは何かについて説明します。今回は難しいことは考えずに直感的な理解をしていきましょう。
Pythonでは、すべて(整数、文字列、関数など)がオブジェクトとして実装されています。オブジェクトには整数、文字列などのデータ型があり、型によりオブジェクトの性質が決まります。
オブジェクトとはデータを入れるためのそれぞれに適した形の箱だと考えるとイメージから理解しやすいです。整数のオブジェクトなら整数値を、文字列のオブジェクトなら文字列を扱うことができます。
これは、箱に~型専用のシールが貼られていると考えれば理解しやすいでしょう。
型はオブジェクトに入っているデータの値を変更できるか(ミュータブル)、変更できないか (イミュータブル)の性質も決めます。イメージは、ミュータブルは何度も開けることのできる箱であり、中身を取り出して入れ替えることができ、イミュータブルは1度しか開けることのできない箱であり、中身を取り出して変更することはできない感じです。
また、ミュータブルであろうと型自体(箱の形自体)を変更することはできません。
変数の定義と使用
プログラミング言語では、変数が定義できるようになっております。変数とは、コンピューターのメモリの中にある値を指す名前です。プログラム中の好きなところで定義することができます。変数に値を代入したい場合は、=を使います。以下に例を示します。
>>> x = 10 >>> print(x) 10 >>> x 10
上記の例では、xという名前の変数に整数値の10を代入してから2通りの方法で変数の中身を表示させています。 ここで、重要な概念は変数はただの名前だということです。値を代入したとしても、値自体はコピーされていません。 変数とは、ただ単にデータの入っているオブジェクト(箱)に名前をつける(貼り付ける)だけです。名前は値自体ではなく、値の参照を表しています。参照についてはいずれ説明します。簡単に言うと、値の入っているメモリの番地を記憶すると言うことです。
変数を宣言するとき、変数に名前をつける必要があります。変数の名前として用いることのできる文字や数字の並びのことを識別子と呼びます。条件を満たす限り、どのような名前をつけるかはプログラマの自由ですが、後から見てもわかりやすい名前や他者が読んでも意味がわかりやすいものをつけるように心がけるといいです。また、同じプログラム中では、同じ名前を重複して使わないようにしましょう。名前として使えるのは以下の通りです。
- 英字[ a-zA-Z ]
- 数字[ 0-9 ]
- アンダースコア[ _ ]
しかし、数字は名前の先頭として使えません。 Pythonは先頭が_で始まるものを特別な変数として処理するので、特別な理由がない限り避けたほうがいいです。 以下に簡単な例を紹介するので参考にしてみてください。
# 有効な変数名 ・python ・python_ ・python_1 ・_python # 無効な変数名 ・1python ・1_python
また、プログラミング言語には予約語というものが存在し、それらは変数名として使うことができません。 これらは、プログラム中で条件分岐などをするときに用いられたりします。
予約語 | ||||
---|---|---|---|---|
and | as | assert | break | class |
continue | def | del | elif | else |
except | finally | for | from | global |
if | import | in | is | lambda |
nonlocal | not | or | pass | raise |
return | try | while | with | yield |
False | None | True |
最後に変数を用いた簡単な計算例を挙げておきます。
>>> a = 10 >>> b = 2 >>> a * b 20 >>> square = a * a >>> print(square) 100 >>> a = b >>> print(a) 2
あとがき
お疲れ様でした。今回は、変数について説明しました。次回はデータ型について説明します。