Text formating pada python akan membahas formating print out pada console. Lesson ini bertujuan untuk mengenalkan formating sederhana. Formating ini bermanfaat untuk memudahkan kita dalam membaca hasil print out.
Formating Teks
Untuk memudahkan, kita gunakan perintah print agar bisa melihat langsung hasil dari string formating. Untuk versi Python sebelum 3.6, harus menggunakan perintah format untuk melakukan string formating.
nama = 'Brad'
#sebelum python 3.6
print("My name is {}".format(nama))
#python 3.6
print(f"My name is {nama}")
#My name is Brad
Pada Python 3.6 keatas, kita dapat menggunakan f-string literal untuk melakukan formating. Code menjadi lebih clean dan mudah dibaca.
Ini juga berlaku untuk type data lainnya seperti dictionary atau list.
d = {'a': 123, 'b': 456}
l = [0, 1, 2]
print(f"My dict number is {d['a']}")
#My number is 123
print(f"My list number is {l[0]}")
#My list number is 0
Menambahkan Padding
Selain mempercantik hasil print, menambahkan padding juga memudahkan dalam membaca hasil print ke console. Hal ini dibahas karena, hasil print out dari library spaCy kurang nyaman untuk dibaca.
buku = [('Author', 'Topic', 'Pages'), ('Dalai Lama', 'Pefecting Patience', 201), ('Catherine Blyth', 'The art of Conversation', 90), ('Mike Leibling', 'How People Tick', 122)]
for author, topic, pages in buku:
print(f"{author} {topic} {pages}")
#Author Topic Pages
#Dalai Lama Pefecting Patience 201
#Catherine Blyth The art of Conversation 90
#Mike Leibling How People Tick 122
for author, topic, pages in buku:
print(f"{author:{15}} {topic:{25}} {pages:>{10}}")
#Author Topic Pages
#Dalai Lama Pefecting Patience 201
#Catherine Blyth The art of Conversation 90
#Mike Leibling How People Tick 122
Program diatas memiliki variable buku yang merupakan list of tuple. Kemudian mencetak isi dari variable buku dengan menambahkan padding.
Padding dilakukan dengan menambahkan tanda : (colon) dan angka untuk menentukan minimum width dari kolom tersebut.
Karena pages adalah kombinasi dari string dan integer. Cara termudah adalah menggunakan tanda > (lebih besar) agar string dan integer akan di align rata kanan.
print(f"{author:15} {topic:25} {pages:>10}")
Kita juga bisa menambahkan karakter lain seperti . (titik) diantara : dan >.
for author, topic, pages in buku:
print(f"{author:{15}} {topic:{25}} {pages:.>{10}}")
#Author Topic .....Pages
#Dalai Lama Pefecting Patience .......201
#Catherine Blyth The art of Conversation ........90
#Mike Leibling How People Tick .......122
DateTime Formating
DateTime formating menggunakan strf time code, dapat dilihat di strftime.org
from datetime import datetime
today = datetime(year=2019, month=9, day=18)
print(f"{today}")
#2019-09-18 00:00:00
print(f"{today: %d-%m-%Y}")
#18-09-2019
- %d : tanggal dengan nol didepan.
- %m: bulan dengan nol didepan.
- %Y: tahun 4 digit.
Lesson ini hanya menunjukan formating sederhana saja. Silakan berekperimen dengan formating yang lebih rumit.
Pada lesson berikutnya akan dibahas bagaimana membuka, membaca dan membuat teks file.