String formatting pada python adalah satu proses memasukkan atau menyisipkan variabel atau nilai ke dalam template string yang telah ditentukan [1].
Terdapat setidaknya 3 cara untuk melakukan hal ini. Beberapa di antaranya adalah cara jadul, dan beberapa di antaranya adalah cara yang lebih baru dan modern.
Kita akan coba satu-persatu.
Memformat String dengan Format Specifiers
Cara yang pertama (dan ini adalah cara yang cukup lama), adalah menggunakan format specifiers.
Format specifiers adalah simbol nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 3 yang berarti string.
Contoh:
template = 'Halo, saya %s dari %s' print(template % ('Lendis Fabri', 'Indonesia')) # output: Halo, saya Lendis Fabri dari Indonesia
Model cara seperti ini akan terlihat sangat โold-styleโ jika kita bandingkan dengan fungsi nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 4 pada python 3.
Memformat String dengan Fungsi format()
Untuk cara yang kedua adalah menggunakan fungsi nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 4 yang baru diperkenalkan pada python versi 3 [2].
Fungsi ini juga pernah kita pelajari pada pembahasan Macam-Macam Output Python.
Berikut ini contoh penggunaannya:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih
Memformat String dengan String Interpolation / F-Strings
String interpolation atau F-Strings adalah fitur terbaru dari python 3.6 [3].
Fungsi ini memiliki tujuan yang sama dengan 2 cara sebelumnya. Hanya saja, ia memiliki sintaks yang jauh lebih modern dan lebih sederhana.
Hal ini akan terlihat sangat familiar bagi kalian yang pernah belajar javascript mau pun kotlin, karena secara sintaks penulisannya hampir sama dengan string template literal pada dua bahasa tersebut.
Berikut ini contohnya:
nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐')
Output:
Perkenalkan saya Lendis Fabri dari Indonesia ๐
Bagaimana? Jauh lebih manusiawi bukan sintaksnya? ๐
Memecah String Menjadi List dan Sebaliknya
Fungsi selanjutnya adalah memecah string menjadi list.
Hal ini bisa kita lakukan menggunakan fungsi nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 6 dan nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 7.
alamat = 'Surabaya, Jawa Timur, Indonesia' print(alamat.split()) # ['Surabaya,', 'Jawa', 'Timur,', 'Indonesia'] print(alamat.split(',')) # ['Surabaya', ' Jawa Timur', ' Indonesia'] print(alamat.split(', ')) # ['Surabaya', 'Jawa Timur', 'Indonesia'] print('โค๏ธ'.join(['aku', 'suka', 'python'])) # akuโค๏ธsukaโค๏ธpython print('๐ฆ'.join(alamat.split(', '))) # Surabaya๐ฆJawa Timur๐ฆIndonesia
Penjelasan
- Fungsi nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 6 menerima satu parameter optional. Parameter ini akan dijadikan sebagai pembatas atau separator yang kemudian string akan dibagi menjadi list berdasarkan pembatas tersebut.
- Jika fungsi nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 6 tidak diberi parameter, maka defaultnya adalah spasi ().
- Fungsi nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 7 berfungsi untuk menggabungkan item list menjadi string utuh, dengan string awal sebagai glue atau perekat antar masing-masing item.
Mengubah String Menjadi Upper Case
Selanjutnya kita bisa memodifikasi string menjadi uppercase alias huruf besar semua dengan fungsi Perkenalkan saya Lendis Fabri dari Indonesia ๐ 1.
print('halo selamat pagi!'.upper()) print('Halo Selamat Siang!'.upper())
Output:
HALO SELAMAT PAGI! HALO SELAMAT SIANG!
Ini hanya working untuk abjad yang memiliki variasi huruf besar.
salam = "ุงูุณูุงู ุนูููู " print(salam) print(salam.uppercase())
Output:
ุงูุณูุงู ุนูููู ุงูุณูุงู ุนูููู
NB: bisa jadi teks arabnya kacau untuk di CLI
Mengubah String Menjadi Lower Case
Kebalikannya, kita bisa menggunakan fungsi Perkenalkan saya Lendis Fabri dari Indonesia ๐ 2 untuk mengubah string menjadi huruf kecil semua.
Contoh:
print('APA KABAR?'.lower()) print('Lagi Dimana?'.lower())
Output:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 0
apa kabar? lagi dimana?
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 1
Output:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 2
Mengubah String Menjadi Reverse Case
Yang terakhir, kita bisa membalikkan huruf kecil menjadi huruf besar, dan huruf besar menjadi huruf kecil dengan perintah Perkenalkan saya Lendis Fabri dari Indonesia ๐ 3.
Perhatikan contoh:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 3
Output:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 4
Mencari Kata Pada String
Pada python, mencari sebuah kata atau karakter dalam suatu string caranya sangat mudah. Kita bisa menggunakan fungsi Perkenalkan saya Lendis Fabri dari Indonesia ๐ 4.
Fungsi tersebut akan mengembalikan indeks dari hasil pertama pencarian, dan akan mengembalikan -1 jika karakter yang dicari tidak ditemukan.
Contoh:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 5
Output:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 6
Mereplace Kata Pada String
Dengan memanfaatkan fungsi Perkenalkan saya Lendis Fabri dari Indonesia ๐ 5, kita bisa mencari lalu menimpa sebuah karakter/teks dengan teks baru.
Perhatikan contoh berikut:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 7
Output:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 8
Menghapus Karakter Tertentu Pada String
Tentu saja, jika kita memanggil fungsi Perkenalkan saya Lendis Fabri dari Indonesia ๐ 6 pada suatu string, lalu kita timpa teks lama dengan string kosong (Perkenalkan saya Lendis Fabri dari Indonesia ๐ 7), seolah-olah kita telah menghapus karakter tersebut.
Contoh:
template = 'Halo, saya {nama} dari {asal}' template_2 = 'Saya suka makan {} dan minum {}' print(template.format(nama = 'Lendis Fabri', asal = 'Indonesia')) # Halo, saya Lendis Fabri dari Indonesia print(template_2.format('Nasi Goreng', 'air putih')) # Saya suka makan Nasi Goreng dan minum air putih 9
Output:
nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 0
Menghitung Jumlah Karakter Yang Muncul
Terakhir tapi bukan yang paling akhir, kita bisa menghitung berapa kali sebuah teks muncul dalam suatu string.
Misal kita ingin menghitung berapa kali kata Perkenalkan saya Lendis Fabri dari Indonesia ๐ 8 muncul pada sebuah paragraf, kita bisa menggunakan fungsi Perkenalkan saya Lendis Fabri dari Indonesia ๐ 9 pada string.
Perhatikan contoh berikut:
nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 1
Output:
nama = 'Lendis Fabri' asal = 'Indonesia' print(f'Perkenalkan saya {nama} dari {asal} ๐') 2
Kesimpulan
Ada banyak sekali hal yang bisa kita lakukan untuk memanipulasi string pada python. Bahkan, cara-cara tersebut umumnya sangat mudah dilakukan. Berbeda dengan jika kita menggunakan bahasa pemrograman lain yang tidak memiliki fungsi manipulasi string sebanyak python.
Kode Program Lengkap
Kalian bisa mendapatkan kode program lengkap untuk seri tutorial ini pada link repository python-menengah.