Format data string di bahasa Python

 

Format Dalam String 
 

Data bertipe numerik dapat diubah menjadi tipe string dengan menggunakan fungsi str.

>>> str(1)  

'1'  

>>> str(1.0)  

'1.0'  

>>> str(1+2j)  '(1+2j)'

Python juga memiliki sintaks “%” untuk memberikan kita kontrol yang lebih pada tipe data string. Berikut ini contohnya:

>>> s = "Nilai pi adalah%8.3f" %3.141591  

>>> print s  Nilai pi adalah    3.142

 

Angka 8 merupakan jumlah karakter string yang disediakan untuk hasil konversi float tersebut, sedangkan angka 3 menunjukkan jumlah bilangan sesudah koma yang dikonversi dalam string tersebut. Kita juga dapat menghilangkan angka didepan tanda “%” guna menghilangkan spasi. Python tetap memberikan ruang kosong minimum guna penulisan angka yang dikehendaki. Untuk lebih jelasnya coba kalian lihat contoh berikut ini: 

 

print "Nilai pi adalah %.3f."% 3.141591  Nilai pi adalah 3.142   

 

Python juga dapat membuat nilai desimal pada string jika spesifikasi panjang telah kita jabarkan dalam perintahnya. Berikut ini contohnya: 

 

>>> print "%8.3f" % 10. + "\n" + "%8.3f" % 100.  

10.000  

      100.000

Untuk membuat angka – angka tersebut menjadi rata kiri, gunakan tanda “-“ sesudah operator “%”.

>>> print "%-8.3f" % 10. + "\n" + "%-8.3f" % 100.  

10.000  

100.000                              

Kita juga dapat menempatkan angka 0 didepan bilangan desimal yang diubah menjadi string, melalui cara sebagai berikut:

>>> print "%08.3f" % 100.  

0100.000                             

Python menyediakan banyak cara untuk melakukan pengaturan format tipe float yang diubah ke dalam bentuk string. Selain menggunakan operator “f”, kita juga dapat menggunakan operator “e” untuk mengekspresikan notasi eksponensial. Lihat contoh berikut ini:

>>> print "%10.3e" % 1024.  

1.0240e+003

          

Kita juga dapat melakukan pengaturan integer dalam string dengan menggunakan operator “i” atau “d”. Secara default, Python cenderung melakukan pembulatan ke angka di bawahnya ketimbang melakukan pembulatan secara benar saat mengerjakan operasi ini. Berikut ini contohnya: 

 

>>> print "%i" % 3.7  

3                                    

Format eksponensial dapat digunakan secara sama baik pada integer, maupun pada float:

>>> print "%.4e" % 238482  

2.3848e+005                         

Nilai numerik yang berlainan tipe dapat kita format ke dalam satu data string yang sama. Untuk melakukannya kalian tinggal mengikuti format yang telah dijabarkan sebelumnya, kemudian mengakhirinya dengan tanda dalam kurung yang memuat nilai format pertama yang diikuti oleh nilai format selanjutnya. Untuk lebih jelas perhatikan contoh berikut ini: 

 

>>> print "Saya sudah tingkat %i dan IP saya masih %.3f." % (4, 1.83)  Saya sudah tingkat 4 dan IP saya masih 1.830.

          

Nilai sesudah operator “%” sesungguhnya merupakan tipe tuple yang tidak akan kita bahas di sini.

Pada pembahasan nanti, kita akan membahas tipe tuple secara mendetail.

Kita dapat melakukan pemformatan pada nilai string sendiri, dengan menggunakan operator ”s”, seperti berikut ini: 

 

>>> print "Pemilik rumah %.1f kali %.1f ini adalah Widji %s." % (2, 3, "Thukul")  

Pemilik rumah 2.0 kali 3.0 ini adalah Widji Thukul.                 

Jika kita ingin menentukan lebar spesifikasi format dengan menggunakan nilai variabel, maka  operator "*" dapat digunakan untuk menggantikan nilai lebar dan integer tambahan, mendahului nilai yang akan diformat dalam tuple berikutnya. Berikut contohnya:

>>> a = 10  

>>> print "%0*i" % (a, 12345)  

0000012345                           

Ada kalanya kita membutuhkan tanda “%” untuk dimasukkan dalam data string yang hendak kita tuliskan bersama format tertentu. Pada kasus ini, guna mematikan karakter khusus “%”, kita gunakan tanda “%%”. Untuk lebih jelas perhatikan contoh di bawah ini: 

 

>>> print "Pada %i bungkus nasi padang, terkandung 8%% ganja." %1  Pada 1 bungkus nasi padang, terkandung 8% ganja.


Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال