Kita dapat membuat operasi matematika dalam baris (contoh diatas kita membuat 3 expressions, expression pertama adalah 'a+5', yang kedua adalah 'b+1' dan yang terakhir adalah 'a+b') yang dipisahkan dengan koma, yang menghasilkan 'tuple', coba lihat hasinya adalah (9,9,12) berada didalam kurung yang berarti 'tuple'.
- >>> d=2/3
- >>> d
- 0.6666666666666666
- >>>
Pada contoh diatas, angka '6'-nya banyak bener. Misalnya kita tidak memerlukan angka desimal yang sebegitu banyaknya, kita bisa membuat format decimal yang kita perlukan.
Perlu kita ingat bahwa dengan memformat angka, maka angka tersebut menjadi string. Ini disebabkan sistem pada komputer tidak mengenal tanda koma pada ribuan, sehingga komputer mengenal satu milyar dengan 1000000000 bukan 1.000.000.000, dan kita sebagai manusia untuk melihat angka nol yang begitu banyak tanpa ada pemenggalan harus menghitung banyaknya nol tersebut. Jadi jangan kita ubah nilai dari perhitungan kita menjadi string, buatlah variable baru untuk angka yang telah terformat, dan biarkan variable angkanya untuk digunakan lain waktu.
- >>> d=1000/6 # membuat variable d
- >>> type(d) # memeriksa type variable d
- <class 'float'>
- >>> st='%4.2f'%d # memformat var d untuk var st
- >>> st # tampilkan nilai dari var st
- '166.67'
- >>> type(st) #memeriksa type var st
- <class 'str'>
- >>>
Sebelum kita bahas "st='%4.2f' %d", kita uji coba dulu soal string format.
- >>> print(' %(no)03d %(aa)s' % {"no":1 ,'aa':'hello'})
- 001 hello
- >>>
Seperti bahasa alien bukan?
print (' %(no)03d %(aa)s' % {"no":1 ,'aa':'hello'}) , ini yang akan kita bahas.
- print() -> kita ingin mencetak pada layar
- %(no)03d
- '%' adalah tanda awal yang akan diganti,
- variable 'no' nilainya int (dan harus number type),
- '03' (nol tiga) tambakan tiga buah nol didepannya,
- 'd' tanda dari integer decimal
- %(aa)s
- '%' adalah tanda awal yang akan diganti,
- 'aa' adalah nama variable
- 's' merupakan string
dan % {"no":1 ,'aa':'hello'} ini adalah:
- '%' , dengan kata lain, ini adalah kamus dari % yang sebelah kiri,
- 'no':1 adalah variabel 'no' dengan nilai integer 1,
- 'aa':'hello' adalah variable 'aa' dengan nilai string 'hello'
untuk lebih jelasnya silahkan bertapa dan renungkan, banyak berdoa dengan tabel dibawah ini:
Flag | Meaning |
---|---|
'#' | Nilai akan digantikan dengan yang lain. |
'0' | Nilai konversi akan ditambahakn angka nol (0). |
'-' | Akan mengatur nilai disebelah kiri, dan akan menghilangkan angka nol bila tanda (-) dan nol (0) diberikan |
' ' | String kosong |
'+' | Tanda (+ atau -) akan ditambahkan pada konversi |
dan,
Conversion | Meaning | Notes |
---|---|---|
'd' | Integer decimal. | |
'i' | Masi integer decimal. | |
'o' | nilai octadecimal | (1) |
'u' | Identik dengan 'd' | (7) |
'x' | Nilai hexadecimal | (2) |
'X' | Nilai hexadecimal | (2) |
'e' | Nilai exponent | (3) |
'E' | Nilai exponent | (3) |
'f' | Format decimal floating point | (3) |
'F' | Format decimal floating point | (3) |
'g' | Format decimal floating point. Digunakan dengan nilai exponent ('e') jika nilai exponen kurang dari -4 atau tidak kurang dari presisi, untuk format decimal sebaliknya. | (4) |
'G' | Format decimal floating point. Digunakan dengan nilai exponent ('e') jika nilai exponen kurang dari -4 atau tidak kurang dari presisi, untuk format decimal sebaliknya. | (4) |
'c' | Single karakter (integer atau single karakter string). | |
'r' | String (mengkonversi objek dengan repr()). | (5) |
's' | String (mengkonversi objek dengan str()). | (5) |
'a' | String (mengkonversi objek dengan ascii()). | (5) |
'%' |
Pada table diatas ada yang namanya repr(), str() dan ascii(), perbedaannya adalah
'repr()' sama dengan print tapi repr() menampilkan format koding
'str()' mencetak pada layar dengan format lebih normal.
ascii() seperti repr(), menghasilkan sebuah string yang menampilakn format koding, tapi bila ada karakter yang bukan ASCII, karakter awalnya akan ditandai dengan \x, \u atau \U.
No comments:
Post a Comment