17 Oktober 2013

tuple satu elemen pada python

Tuple pada python adalah masalah krusial pada programer pemula, khususnya tuple dengan satu elemen.
Jika anda bekerja dengan tuple, dan menemukan error yang sulit dijelaskan, kemungkinan hal ini berkaitan dengan tuple 1 elemen ini. Hal ini semakin memusingkan ketika anda bekerja dengan tuple lebih dari 1 element tidak ada masalah kemudian anda menguranginya hingga satu elemen dan muncul masalah.

Misalnya pada eksekusi perintah SQL berikut jalan.
query = "select * from tabsiswa where no=%s and kelas=%s"
cursor.execute(query, (noinduk, kelas))

Kemudian anda hilangkan kelasnya:

query = "select * from tabsiswa where no=%s"
cursor.execute(query, (noinduk))

Nah error terjadi. Anda lupa bahwa parameter kedua dari cursor.execute adalah tuple.
Jadi seharusnya (perhatikan koma setelah noinduk!!):

cursor.execute(query, (noinduk,))


Jadi tuple dengan 1 elemen HARUS diakhiri koma, sementara untuk tuple lebih dari 1 elemen tidak harus, tetapi akan lebih baik jika selalu diakhiri koma agar saat copy paste kode program tidak lupa bahwa itu adalah tuple.

Pesan error yang umum pada kesalahan ini misalnya Failed processing format-parameters, Wrong number of parameter

Tidak ada komentar: