Tipe Tuple
Tuple pada dasarnya mirip dengan list, namun bersifat tetap. Jika kalian akrab dengan bahasa pemrograman seperti C dan C++, tuple mirip dengan array konstan Ketika kita sudah membuatnya, kita tidak dapat melakukan perubahan pada elemen – elemen di dalamnya. Tuple ditulis dengan menggunakan notasi “()”. Berikut adalah contoh tuple:
>>> t = (1, 2, 3)
>>> t[1] = 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment
Sama seperti list, tuple juga dapat memuat elemen – elemen dengan berbagai macam tipe yang dapat meliputi list dan tuple itu sendiri.
>>> t = (0., 1, 'dua', [3, 4], (5,6) )
Keuntungan kita menggunakan tuple adalah pemrosesannya yang jauh lebih cepat dibandingkan menggunakan list. Para programmer Python umumnya menggunakan tuple untuk efisiensi proses pemindahan data dan/atau argumen fungsi yang bersifat tetap. Ketika kita menuliskan daftar beberapa elemen yang dipisahkan oleh koma, tapi tidak diberi kurung, maka Python akan membacanya sebagai tuple. Contohnya sebagai berikut:
>>> 1, 2, 3
(1, 2, 3)
>>> "hmme", 7., [1, 2, 3] ('hmme', 7.0, [1, 2, 3])
Tuple bukan merupakan satu – satunya objek yang tidak dapat berubah dalam Python. String juga tidak dapat kita ubah dalam Python, perhatikanlah contoh berikut ini:
>>> s = "Mr Death memiliki 7 buah motor."
>>> s[17] = "6"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
Untuk mengubah nilai string tersebut, kita membutuhkan metode pemotongan secara manual seperti berikut ini:
>>> s = s[:18] + "6" + s[19:]
>>> s 'Mr Death memiliki 6 buah motor.'
Tipe data float, integer, dan bilangan kompleks juga bersifat tidak dapat diubah, namun hal ini tidak begitu mengganggu para programmer Python. Pada tipe – tipe tersebut yang dimaksud sebagai data yang tidak dapat diubah berarti nilai numerik yang baru selalu menempati lokasi memori yang baru pula, alih – alih memodifikasi alokasi memori yang telah digunakan untuk menyimpan nilai terdahulu.