Pada artikel ini kita akan belajar tentang interpolasi string python. Python mendukung banyak cara untuk memformat string teks dan ini termasuk% -formatting, sys.format (), string.Template dan f-string.
Interpolasi string adalah proses yang mengganti nilai variabel menjadi placeholder dalam string. Misalnya, jika Anda memiliki template untuk menyapa orang seperti "Halo (Nama orang), senang bertemu Anda!", Anda ingin mengganti placeholder untuk nama orang dengan nama sebenarnya. Proses ini disebut interpolasi string.
f-string
Python 3.6 menambahkan metode interpolasi string baru yang disebut interpolasi string literal dan memperkenalkan awalan literal baru f
. Cara baru pemformatan string ini sangat kuat dan mudah digunakan. Ini menyediakan akses ke ekspresi Python yang disematkan di dalam konstanta string.
Contoh 1:
name = 'World' program = 'Python' print(f'Hello (name)! This is (program)')
Saat kita menjalankan program di atas, outputnya adalah
Halo Dunia! Ini Python
Dalam contoh di atas, awalan literal f
memberi tahu Python untuk mengembalikan nilai dari dua nama variabel string dan program di dalam tanda kurung ()
. Jadi, ketika print
kita mendapatkan output di atas.
Interpolasi string baru ini sangat kuat karena kita dapat menyematkan ekspresi Python yang berubah-ubah, bahkan kita dapat melakukan aritmatika sebaris dengannya.
Contoh 2:
a = 12 b = 3 print(f'12 multiply 3 is (a * b).')
Saat kita menjalankan program di atas, outputnya adalah
12 kalikan 3 sama dengan 36.
Dalam program di atas kami melakukan aritmatika inline yang hanya mungkin dengan metode ini.
% -formatting
String di Python memiliki operasi bawaan unik yang dapat diakses dengan %
operator. Menggunakan %
kita dapat melakukan interpolasi string sederhana dengan sangat mudah.
Contoh 3:
print("%s %s" %('Hello','World',))
Saat kita menjalankan program di atas, outputnya adalah
Halo Dunia
Dalam contoh di atas kami menggunakan dua %s
penentu format string dan dua string Hello
dan World
dalam tanda kurung ()
. Kami dapatkan Hello World
sebagai keluaran. %s
penentu format string memberi tahu Python di mana harus mengganti nilainya.
Sintaks pemformatan string sedikit berubah, jika kita ingin membuat banyak substitusi dalam satu string, dan karena %
operator hanya mengambil satu argumen, kita perlu membungkus sisi kanan dalam tupel seperti yang ditunjukkan pada contoh di bawah ini.
Contoh 4:
name = 'world' program ='python' print('Hello %s! This is %s.'%(name,program))
Saat kita menjalankan program di atas, outputnya adalah
Halo Dunia! Ini python.
Dalam contoh di atas kami menggunakan dua nama variabel string dan program. Kami membungkus kedua variabel dalam tanda kurung ()
.
Dimungkinkan juga untuk merujuk ke substitusi variabel dengan nama dalam string format kita, jika kita meneruskan pemetaan ke %
operator:
Contoh 5:
name = 'world' program ='python' print(‘Hello %(name)s! This is %(program)s.’%(name,program))
Saat kita menjalankan program di atas, outputnya adalah
Halo Dunia! Ini python.
Hal ini membuat string format kami lebih mudah dipelihara dan lebih mudah dimodifikasi di masa mendatang. Kita tidak perlu khawatir tentang urutan nilai yang kita teruskan dengan urutan nilai yang direferensikan dalam format string.
Str.format ()
Dalam pemformatan string ini kita menggunakan format()
fungsi pada objek string dan tanda kurung ()
, objek string dalam format()
fungsi diganti sebagai pengganti tanda kurung ()
. Kita dapat menggunakan format()
fungsi tersebut untuk melakukan pemformatan posisi sederhana, seperti %
pemformatan.
Contoh 6:
name = 'world' print('Hello, ()'.format(name))
Saat kita menjalankan program di atas, outputnya adalah
Halo Dunia
Dalam contoh ini kami menggunakan tanda kurung ()
dan format()
fungsi untuk mengirimkan objek nama. Kami mendapatkan nilai nama sebagai pengganti tanda kurung ()
dalam output.
Kita dapat mengacu pada substitusi variabel kita berdasarkan nama dan menggunakannya dalam urutan apapun yang kita inginkan. Ini adalah fitur yang cukup kuat karena memungkinkan untuk mengatur ulang urutan tampilan tanpa mengubah argumen yang diteruskan ke fungsi format.
Contoh 7:
name = 'world' program ='python' print('Hello (name)!This is(program).'.format(name=name,program=program))
Saat kita menjalankan program di atas, outputnya adalah
Halo dunia! Ini python.
In this example we specified the variable substitutions place using the name of variable and pass the variable in format()
.
Template Strings
Template Strings is simpler and less powerful mechanism of string interpolation. We need to import Template
class from Python’s built-in string
module to use it.
Example 8:
from string import Template name = 'world' program ='python' new = Template('Hello $name! This is $program.') print(new.substitute(name= name,program=program))
When we run the above program, the output will be
Hello world! This is python.
In this example we import Template
class from built-in string
module and made a template which we used to pass two variable.
Key Points to Remember:
- %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
- In str.format() method we pass the string object to the format() function for string interpolation.
- Dalam metode template kita membuat template dengan mengimpor kelas template dari modul built in string.
- Metode Interpolasi String Literal adalah metode interpolasi yang kuat yang mudah digunakan dan meningkatkan keterbacaan kode.