記事の紹介

この章は、Pythonのもっとも単純な組み込みデータ型を学ぶところから始めましょう。

  • ブール値(TrueまたはFalseの値を持っています。)
  • 整数(1,2,3,・・・100000などの小数点以下がない数値をあらわします。)
  • 浮動小数点(3.141592のように小数点以下の部分がある数値、あるいは、10e8のような指数表現。10e8は10の8乗という意味で、100000000を意味します。)
  • 文字列(文字の並びです。)

これらは、ある意味ご飯の一粒のようなものです。この章ではこれらをばらばらに使って行きますが、次の章である「Pyの具では」ではこれらを組み合わせて「おにぎり🍙」を作りたいと思います。

この章のサンプルコードを使い「Pythonってこんな味なんだ!」という事を見てみようと思います。

変数、名前、オブジェクト

Pythonはすべてがオブジェクトとして実装されています。そのおかげで、Pythonには、Python特有の一貫性があります。

オブジェクトとは、データをある透明なプラスチックボックスのようなものです。オブジェクトには、ブール値、整数などのデータ型あり(単純に型と呼ぶこともある)、そのデータで何ができるかは形によって決まります。実際の箱に「陶器」と書かれていれば、そこからある程度のことがわかるでしょう(たぶん重い、床に落としたら割れるなど)。同様に、Pythonでオブジェクトにintという型がつけられたら、それは他のintに足すことができるということがわかります。

型は、ボックスに入ってるデータの値を変更できるか(ミュータブル)変更できないか(イミュータブル)も決めます。

イミュータブルは、透明なガラスで出来てる箱のようなものです。中の値はみえるけど書き換えることは出来ません。

ミュータブルは、蓋が開かれてる箱のようなものです。中の値を見れるだけではなく、書き換えることも出来ます。(しかし、オブジェクトのデータ型を変えることは出来ません)

Pythonは、型の決まりが固いものです。これは、値がミュータブルとは言え、オブジェクトの型は変わらないという事です。プログラミング言語は、変数を定義できるとうになっています。変数とは、コンピュータのメモリの中にある値を指す有名なことで、プログラムのなかで定義できます。Pythonでは、=を使て変数に値を代入できます。次に示すのは、aという名前の変数に整数値7を代入してから、現在aに与えられている値を表示する2行のPythonプログラムです。(結果は7です)

a=7
print(a)

ここで、Python変数でいちばん重要なポイントは「変数はただの名前」という事です。

要すると7という値が代入されたオブジェクトaという名前を付けるだけという意味です。名前は値自体ではなく値を参照するだけです。

わかりやすく例えると、箱に飴を入れて、その箱に「俺の飴」とポストイットを付けました。

この場合、aは「俺の飴」と書いてるポストイット、7は箱に入れた飴、オブジェクトは飴が入ってる箱になります。

という感じで、

  1. 上記お同じように7という値をaという名前を与える。すると、整数値7をいれたオブジェクトの箱が作られます。
  2. aの値を出力する。
  3. bにaを代入し、7が入っているオブジェクトの箱にbも貼り付けます。
  4. bの値を出力する。

という処理をやってみます。

Example

a = 7
print(a)
b = a
print(b)

実行結果

Pythonでなにか(変数など)の形が知りたいときは、type(thing)を使います。様々なリテラル値(58, 99.9, abc)と変数(a, b)を使って試してみましょう。

Example

a = 7
b = a
print(type(a))
print(type(b))
print(type(58))
print(type(99.9))
print(type('abc'))

実行結果

クラスはオブジェクトの定義です。Pythonでは、「クラス」と「型」はまったく同じ意味になります。

変数名として使えるのは次のような文字だけです。

  • 小文字の英字(aからzまで)
  • 大文字の英字(AからZまで)
  • 数字(0から9まで)
  • アンダースコア(_)

以下のように、数字は名前の先頭としては使えません。

  • 1
  • 1a
  • 2b
  • 9s

入門Python3 – Pyの成分