Interpolasi String Python

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 fmemberi tahu Python untuk mengembalikan nilai dari dua nama variabel string dan program di dalam tanda kurung (). Jadi, ketika printkita 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 %spenentu format string dan dua string Hellodan Worlddalam tanda kurung (). Kami dapatkan Hello Worldsebagai keluaran. %spenentu 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:

  1. %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
  2. In str.format() method we pass the string object to the format() function for string interpolation.
  3. Dalam metode template kita membuat template dengan mengimpor kelas template dari modul built in string.
  4. Metode Interpolasi String Literal adalah metode interpolasi yang kuat yang mudah digunakan dan meningkatkan keterbacaan kode.

Artikel yang menarik...