Kursus
Pemformatan string juga dikenal sebagai interpolasi string. Ini adalah proses memasukkan string khusus atau variabel ke dalam teks yang sudah ditentukan.
custom_string = "String formatting"
print(f"{custom_string} is a powerful technique")
String formatting is a powerful technique
Sebagai data scientist, Anda akan menggunakannya untuk memasukkan judul pada grafik, menampilkan pesan atau error, atau meneruskan pernyataan ke sebuah fungsi.
Metode untuk Pemformatan
- Pemformatan posisi
- Literal string terformat
- Metode template
Metode String.Format
Kita menempatkan placeholder yang didefinisikan oleh sepasang kurung kurawal dalam sebuah teks. Kita memanggil metode dot format pada string. Lalu, kita meneruskan nilai yang diinginkan ke dalam metode tersebut. Metode ini mengganti placeholder menggunakan nilai-nilai sesuai urutan kemunculannya, diganti oleh nilai:
'text{}'.format(value)
Pemformatan Posisi
Kita mendefinisikan sebuah string dan memasukkan dua placeholder. Kita meneruskan dua string ke metode tersebut, yang akan menghasilkan keluaran berikut:
print("Machine learning provides {} the ability to learn {}".format("systems", "automatically"))
Machine learning provides systems the ability to learn automatically
Kita dapat menggunakan variabel baik untuk string maupun nilai yang diteruskan ke metode. Pada contoh kode di bawah, kita mendefinisikan sebuah string dengan placeholder dan dua variabel lainnya. Kita menerapkan metode format pada string menggunakan dua variabel yang telah didefinisikan. Metode ini membaca string dan mengganti placeholder dengan nilai yang diberikan.
my_string = "{} rely on {} datasets"
method = "Supervised algorithms"
condition = "labeled"
print(my_string.format(method, condition))
Supervised algorithms rely on labeled datasets
Mengubah Urutan Nilai
Pada contoh di bawah, Anda menambahkan nomor indeks ke dalam placeholder untuk mengubah urutan nilai. Ini memengaruhi urutan metode dalam mengganti placeholder.
Metode akan menggantinya dengan nilai-nilai sesuai urutan yang diberikan.
print("{} has a friend called {} and a sister called {}". format("Betty", "Linda", "Daisy"))
Betty has a friend called Linda and a sister called Daisy
Jika kita menambahkan nomor indeks, urutan penggantian akan berubah sesuai.
print("{2} has a friend called {0} and a sister called {1}". format("Betty", "Linda", "Daisy"))
Daisy has a friend called Betty and a sister called Linda
Placeholder Nama
Kita juga dapat memperkenalkan argumen kata kunci yang dipanggil berdasarkan nama kata kuncinya.
Pada contoh kode di bawah, kita memasukkan kata kunci ke dalam placeholder. Lalu, kita memanggil kata kunci ini dalam metode format. Kita kemudian menetapkan variabel mana yang akan diteruskan untuk masing-masing, sehingga menghasilkan keluaran berikut.
tool="Unsupervised algorithms"
goal="patterns"
print("{title} try to find {aim} in the dataset".format(title=tool, aim=goal))
Unsupervised algorithms try to find patterns in the dataset
Mari kita cermati kode di bawah ini. Kita telah mendefinisikan sebuah dictionary dengan key: tool dan goal.
my_methods = {"tool": "Unsupervised algorithms", "goal": "patterns"}
Kita ingin memasukkan nilainya ke dalam sebuah string. Di dalam placeholder, kita dapat menentukan nilai yang terkait dengan key tool dari variabel data menggunakan notasi bracket. Data adalah dictionary yang ditentukan dalam metode, dan tool adalah key yang ada dalam dictionary tersebut.
print('{data[tool]} try to find {data[goal]} in the dataset'.format(data=my_methods))
Jadi, kita mendapatkan keluaran yang diinginkan seperti di bawah. Hati-hati! Anda perlu menentukan indeks tanpa menggunakan tanda kutip.
Unsupervised algorithms try to find patterns in the dataset
Penentu Format
Kita juga dapat menentukan penentu format di dalam kurung kurawal. Ini mendefinisikan bagaimana nilai individual ditampilkan. Di sini, kita akan menggunakan sintaks indeks titik dua penentu. Salah satu penentu format yang paling umum adalah float yang diwakili oleh f. Dalam kode, kita menentukan bahwa nilai yang diteruskan dengan indeks 0 akan berupa float.
print("Only {0:f}% of the {1} produced worldwide is {2}!". format(0.5155675, "data", "analyzed"))
Only 0.515567% of the data produced worldwide is analyzed!
Kita juga dapat menambahkan .2f yang menunjukkan bahwa kita ingin float memiliki dua desimal, seperti yang terlihat pada keluaran yang dihasilkan.
print("Only {0:.2f}% of the {1} produced worldwide is {2}!".format(0.5155675, "data", "analyzed"))
Only 0.52% of the data produced worldwide is analyzed!
Memformat datetime
Python memiliki modul bernama datetime yang memungkinkan kita, misalnya, untuk mendapatkan waktu dan tanggal hari ini.
from datetime import datetime
print(datetime.now())
2020-08-08 06:28:42.715243
Namun karena format yang dikembalikan sangat khusus, Anda dapat menggunakan penentu format seperti %y-%m-%d-%h-%m untuk menyesuaikan format menjadi sesuatu yang lebih familier bagi kita!
print("Today's date is {:%Y-%m-%d %H:%M}".format(datetime.now()))
Today's date is 2020-08-08 06:29
Contoh Interaktif
Pada contoh berikut, Anda akan menetapkan substring dari karakter ke-4 hingga ke-19, dan dari karakter ke-22 hingga ke-44 dari wikipedia_article ke variabel first_pos dan second_pos, masing-masing. Sesuaikan string agar menjadi huruf kecil. Terakhir, cetak variabel first_pos dan second_pos.
# Assign the substrings to the variables
first_pos = wikipedia_article[3:19].lower()
second_pos = wikipedia_article[21:44].lower()
Saat kita menjalankan kode di atas, akan dihasilkan keluaran berikut:
computer science
artificial intelligence
Untuk mempelajari lebih lanjut tentang pemformatan posisi, silakan lihat video dari kursus kami, Regular Expressions in Python.
Konten ini diambil dari kursus DataCamp Regular Expressions in Python oleh Maria Eugenia Inzaugarat.
Lihat juga Tutorial String Python kami.
