String Formatting atau Pemformatan string memungkinkan kita menyuntikkan item ke dalam string daripada kita mencoba menggabungkan string menggunakan koma atau string concatenation.
Sebagai gambaran, perbandingannya seperti ini :
Ada tiga cara untuk melakukan pemformatan string.
Sebagai gambaran, perbandingannya seperti ini :
Nama = 'Budi' Umur = 25 'Nama saya '+Nama+', umur saya sekarang '+str(Umur)+' Tahun.' # concatenation f'Nama saya {Nama}, umur saya sekarang {Umur} Tahun' # string formatting
Ada tiga cara untuk melakukan pemformatan string.
- Metode lama menggunakan placeholder menggunakan karakter '%' (modulo)
- Teknik yang ditingkatkan menggunakan metode string .format ().
- Metode terbaru, diperkenalkan dengan Python 3.6, menggunakan string literal yang diformat, disebut f-string.
String Formatting dengan placeholder
Anda dapat menggunakan karakter '%s' untuk menyuntikkan tipe data string ke dalam fungsi print(). Karakter '%' disebut sebagai "operator pemformatan string".
contoh :
print('Nama saya %s, umur saya sekarang %s Tahun' % ('Budi','25'))
atau bisa dengan menempatkan nama variable
nama, umur ='Budi', '25' print('Nama saya %s, umur saya sekarang %s Tahun' % (nama,umur))Operator '%s' mengubah tipe data apapun menjadi string, termasuk bilangan bulat dan decimal. Operator '%d' mengubah angka menjadi bilangan bulat. Perhatikan perbedaannya di bawah ini:
print('Nama saya Budi, umur saya sekarang %s Tahun' % 2.5) # Nama saya Budi, umur saya sekarang 2.5 Tahun print('Nama saya Budi, umur saya sekarang %d Tahun' % 2.5) # Nama saya Budi, umur saya sekarang 2 Tahun
Padding dan Precision of Floating Point Numbers
Angka untuk floating point menggunakan format '%5.2f'. Di sini, 5 akan menjadi jumlah minimum karakter yang harus ada dalam string jika nomor tidak sebanyak digit maka akan diisi spasi, dan .2f berarti berapa banyak angka yang ditampilkan melewati titik desimal. Mari kita lihat beberapa contoh:
print('Nilai pi lingkaran adalah %5.2f' % 3.14159) # Nilai pi lingkaran adalah 3.14 print('Nilai pi lingkaran adalah %1.0f' % 3.14159) # Nilai pi lingkaran adalah 3
String Formatting dengan .format()
Cara yang lebih baik untuk memformat string adalah dengan metode string .format(). Sintaksnya adalah:nama, umur ='Budi', '25' print('Nama saya {}, umur saya sekarang {} Tahun'.format(nama,umur))
Memasukan string berdasarkan index position
print('Nama saya {0}, umur saya sekarang {1} Tahun'.format('Budi','25')) # Nama saya Budi, umur saya sekarang 25 Tahun
Bisa juga seperti ini
print('Nama saya {nama}, umur saya sekarang {umur} Tahun'.format(nama='budi',umur='25'))
Float number formatting
Hampir sama dengan placeholder pada .format() seperti ini :
print('Nilai pi lingkaran adalah {0:5.2f}'.format(pi)) # Nilai pi lingkaran adalah 3.14
Alignment, padding and precision dengan .format()
Dalam kurung kurawal kita dapat menetapkan panjang bidang, rata kiri / kanan, parameter pembulatan dan banyak lagi
Secara default, .format () menggunakan rata teks ke kiri, angka ke kanan. kita dapat menggunakan opsi opsional <, ^, atau> untuk mengatur perataan kiri, tengah atau kanan:
string formatting .format() terdokumentasi di https://docs.python.org/3/library/string.html#formatstrings
Dalam kurung kurawal kita dapat menetapkan panjang bidang, rata kiri / kanan, parameter pembulatan dan banyak lagi
print('{0:8} | {1:9}'.format('Fruit', 'Quantity')) print('{0:8} | {1:9}'.format('Apples', 3.)) print('{0:8} | {1:9}'.format('Oranges', 10)) #Output Fruit | Quantity Apples | 3.0 Oranges | 10
Secara default, .format () menggunakan rata teks ke kiri, angka ke kanan. kita dapat menggunakan opsi opsional <, ^, atau> untuk mengatur perataan kiri, tengah atau kanan:
print('{0:<8>8}'.format('Left','Center','Right')) print('{0:<8>8}'.format(11,22,33)) #Output Left | Center | Right 11 | 22 | 33 8>8>
string formatting .format() terdokumentasi di https://docs.python.org/3/library/string.html#formatstrings
String formatting Literal (f-string)
Diperkenalkan pada Python 3.6, f-string menawarkan beberapa manfaat dibandingkan metode string .format() lama yang dijelaskan di atas. Kita dapat memasukan variabel luar langsung ke ke string daripada meneruskannya sebagai argumen melalui .format(var).nama, umur ='Budi', '25' print(f'Nama saya {nama}, umur saya sekarang {umur} Tahun')
FLoat number formatting
Formatnya "Hasil: {value:{width}.{precision}}"
Contoh :
pi = 3.14159 print(f'Nilai pi lingkaran adalah {pi:{2}.{3}}') # Nilai pi lingkaran adalah 3.14
format literal terdokumentasi di https://docs.python.org/3/reference/lexical_analysis.html#f-strings
yuhuu.......bermanfaat min
ReplyDeleteSolder uap
i found best learning course, which is adding my developing skills improve. This is the best decision i have taken to learn Azure Developer Associate. i can showoff my skills & knowledge to employer who want to take advantage of cloud technology & I'm becoming the few skilled people in a rising Industry.
ReplyDelete