今回は、1つの変数に、オブジェクトをいくつも入れることができる「タプル(tuple)」という変数をご紹介します。
本記事では、
- タプルとは?と、タプルの作成
- タプルの要素、型
- タプルの削除方法
- タプルとリストとの違い
などの基本知識をさくっと解説します。
タプルの基本操作に慣れてもらえたらと思います。
【Python 文法 独学】Python の「タプル」とは?タプルの作成、定義、要素、型、削除方法、タプルとリストの違いなど、サクッとまとめました【Python 学習 初心者】
Python の「タプル(tuple)」とは
Python のタプルとは、複数のオブジェクトを1列に並べたものです。
例えば、
Tuple_hensu1 = ( 1, 2, 3 )
のような感じです。
複数のオブジェクトをまとめて扱えるメリットがあります。
Python タプルの作成・定義方法は?
タプルの作り方
Tuple_hensu1 = ( 1, 2, 3 )
を作ることを考えてみます。
(1), 左にタプルの変数名を書きます。
(今回は Tuple_hensu1 にしましたが、なんでもいいです)
(2), タプル全体を( )で囲み、その中に、オブジェクトを並べます。
オブジェクトの間は、「, (カンマ)」で区切ります。
(3), 変数名と ( ) を =(代入演算子)でつなぎます。
このように、タプルの変数名にタプルを代入することを、「タプルの生成」とも呼びます。
具体的には以下の感じです↓
In[2] で、タプルを定義しています。
In[3] で、タプルの中身を確認するために、タプルの変数名を打ち込んでいます。
すると、Out[3] のように、きちんとタプルが作られていることがわかります。
In[4] では、print関数を使って、タプルの中身を確認しています。
タプルを扱う上で、知っておくと役立つのが、要素の知識です。
Python タプルの要素
カンマで区切られたそれぞれのオブジェクトを、そのタプルの「要素(ようそ)」と呼びます。
Tuple_hensu1 = ( 1, 2, 3 )
なら、要素は、1、2、3、になります。
Python タプルの型とは?
変数には、型があることを学びましたが、
タプルのオブジェクトには、いろいろな型のオブジェクトを入れることができます。
例えば、
Tuple_hensu2 = ( 123, ‘hello’, 5.67 )
のような感じで、
- 1つ目(123)は、整数型オブジェクト
- 2つ目(’hello’)は、文字列オブジェクト
- 3つ目(5.67)は、浮動小数点型オブジェクト
など、
1つのタプルに型が違うオブジェクトを入れることが可能です。
ちなみに、型ってなに?って方は以下の記事もどうぞ↓
『【Python 文法 独学】Python の「型(type)」とは?型の確認方法は?などについて、サクッとまとめました【Python 学習 初心者】』
Python タプルの削除方法とは?
Python タプルの削除は、「del 関数」が使えます。
del(タプルの変数名)
とすると、タプルが削除されます。
( del は、削除する( delete )の略です)
使い方は以下のような感じです↓
In[6] で、タプルを定義しています。
In[7] では、del 関数を使って、タプルを削除しています。
In[8] では、タプルが削除したか確かめています。
“NameError: ‘Tuple_hensu1’ is not defined“
“変数 Tuple_hensu1 が定義されてないですよ”
と出ています。
In[6] で作成したタプルが削除されたことがわかります。
タプルは、複数のオブジェクトをひとかたまりに扱えることがわかりました。
リストも、複数のオブジェクトをひとかたまりに扱えます。
え?じゃあ、タプルとリストは、どう違うの?
と思われるかもしれません。
そこで、タプルとリストの違いを説明します。
タプルとリストとの違い(不変性と可変生)
タプルは不変性をもつ
タプルは、一度作ったタプルの中身を変えることができません。
中身を変更しようとするとエラーになります。
中身を上書きできない性質を持っています。
これを「不変性」と呼びます。
実際に「タプルの不変性」の性質を確かめてみます
In[9] で、タプルを作成しています。
In[10]で、タプルの0番目(最初)の要素に、
新しいオブジェクト4を代入しようとしています。
その結果、以下のようなエラーが出ています。
“TypeError: ‘tuple’ object does not support item assignment”
“型のルールによるエラー:タプルオブジェクトは、アイテムを代入することができません”
と出てきています。
In[14] で、タプルの中身を確認してみると、
最初に作成した中身がそのままになっていることが確認できます。
- タプルの中身は変更不可
これが「不変性」と呼ばれる性質になります。
リストは可変性をもつ
リストは、一度作ったタプルの中身を変えることができます。
中身を上書きできる性質を持っています。
これを「可変性」と呼びます。
実際に「リストの可変性」の性質を確かめてみます
In[11] で、リストを作成しています。
In[12]で、リストの0番目(最初)の要素に、
新しいオブジェクト4を代入しようとしています。
In[13] で、リストの中身を確認してみると、
リストの最初の要素が4に変わっています。
- リストの中身は変更できる
これが「リストの可変性」です。
タプルはなぜ不変なの?メリットは?
プログラムを実行している時に、中身を変更したくないオブジェクトがあることがあります。
それをリストで作成することもできます。
でも、リストだと、万が一何かの間違いがあった時、
中身が変更されてしまうリスクがあります。
それに対して、
中身を変えたくないオブジェクトはタプルで作っておけば、
- プログラムの実行中に変更されないことが保証される
というメリットがあります。
リストってなんだっけ?という方は、こちらの記事もどうぞ↓
『【Python 文法 独学】Python の「リスト」とは?リストの作成、定義、空のリスト、リストの要素など、サクッとまとめました【Python 学習 初心者】』
というわけで、本記事では、
- タプルとは?と、タプルの作成
- タプルの要素、型
- タプルの削除方法
- タプルとリストとの違い
などの基本知識をさくっと解説しました。
こちらもございます↓
「タプル」については、こちらの書籍でも解説しています(無料)↓