Seperti pada matematika, kadang guru dengan sengaja memberikan soal yang membuat jebakan (sekarang suka disebut jebakan batman) seperti 3*2+3-1*5 (kelihatannya seperti operasi ini dari kiri ke kanan, 3 kali 2 dulu lalu ditambah dengan 3 lalu dikurangi 1 kemudian kali 5), apa-apa coba? kenapa tidak dibuat
(3*2)+3-(1*5)?. Tapi dengan python (dan software programing lainnya) tidak terjadi salah kaprah.
- >>> 3*2+3-1*5
- 4
- >>>
Ini bisa terjadi karena adanya precedence rules, yang mengrupkan mana yang jadi prioritas. Kita bisa lihat di tabel yang panjang pada 5.1.Expression Operators (post saya sebelumnya). Pada tabel itu telah disusun dari paling lemah ikatannya (paling atas) sampai paling kuat ikatannya (paling bawah), jadi semakin berada dibawah tabel maka itu akan diutamakan terlebih dahulu.
Kita tidak mengandalkan operasi panjang seperti diatas, karena mudah sekali terjadi kesalahan. Gunakanlah tanda kurung untuk menetukan kelompok mana yang harus dikerjakan lebih dulu.
Kita paksa python untuk mengerjakan yang mana dahulu, jangan membiarkan software yang menetukan pilihannya.
Pada python kita bisa mengoperasikan integer dengan float seperti menulis pada kertas (ini salah satu kelebihan python, dan juga bisa menjadi kelemahannya, tergantung apa yang kita kerjakan). Misalnya kita ingin menghitung luas lingkaran dengan jari-jari 5 cm. Jadi pi* 5 pangkat 2 bukan?
- >>> import math
- >>> a=math.pi*5**2
- >>> a
- 78.53981633974483
- >>> type(a)
- <class 'float'>
- >>>
Dengan Python kita tidak perlu menentukan dahulu numeric type-nya. Yang jadi masalah sekarang numeric type apa yang python hasilkan (bila penting). Lalu bagaimana bila kita ingin mengkontrol numeric type? contoh dibawah ini masi lanjutan dari contoh diatas.
- >>> b=int(a)
- >>> b
- 78
- >>> c=float(a)
- >>> c
- 78.53981633974483
- >>>
No comments:
Post a Comment