Lebih jauh tentang string di python
Lebih jauh tentang string di python - Yosh berjumpa lagi, semoga sobs-sobs dalam keadaan sehat walafiat sehingga bisa menikmati nikmatnya kipas angin dengan kecepatan maximal. hehehe
Pada pembahasan kali masih berkisar python fundamental atau dasar yaitu tentang tipe data yang sering digunakan didunia pergulatan programming python, apa lagi kalo bukan tipe data string sobs-sobs. ya string karena ditipe data ini kita bisa banyak melakukan operasi apapun sesuai dengan keinginan dan kebutuhan kita sobs.
Oke sebelum lebih jauh tentang string ini yang perlu diketahui oleh sobs-sobs tipe data string ini meruppakan tipe data immutable (kebal/paten). apa ntuh bang immutable ?? jadi singkatnya gini sobs-sobs jika kita melakukan pembuatan variabel dengan tipe data string maka si string ini akan mengambil alokasi memori secara permanen sehingga apabila kita ingin melakukan operasi terhadap si string maka kita hanya mendapati nilai kembaliannya saja tetapi tidak mengubah lokasi memori terhadap si string tersebut makannya untuk melakukan operasi terhadap string ini kebanyakan melalui method dan jika pun kita melakukan operasi tanpa method maka alokasi memori si string ini akan berubah.
Oke untuk gambaran gua akan berikan contoh dibawah ini :
title = "sruputkode"
print(title) # sruputkode
print(hex(id(title))) # 0x298548ab430
title += " oke guys"
print(title) # sruputkode oke guys
print(hex(id(title))) # 0x29854cb8df0
Terlihat contoh diatas pertama gua buat variabel dengan nama title kemudian gua cek lokasi memori kemudian gua lakukan operasi concat (penambahan) pada variabel title dan kemudian gua cek kembali alamat lokasi memorinya, bisa dilihat sobs-sobs alamat lokasi memori berubah saat melakukan operasi concat, itulah konsep immutable di dede gemez (python) ini.Oke jika belum faham seiring berjalan waktu akan paham pada waktunya sobs-sobs yang terpenting terus berjuang untuk belajar. mantabsssss
Adapun operasi yang sering dilakukan terhadap tipe data ini akan gua jabarkan dibawah ini sobs-sobs :
- Cek panjang
Gimana sih mengecek panjangnya suatu string di python, etss gampang sobs-sobs sekalian kita tinggal menggunakan fungsi bawaan python yaitu fungsi len() fungsi ini mengembalikan angka dengan tipe data berupa integer. untuk lebih jelas silahkan lihat contoh dibawah ini sobs
nama_mantan = "kirana"
print(len(nama_mantan)) # 6
# jika kosong
nama_mantan = ""
print(len(nama_mantan)) # 0
# untuk validasi
username = "dd"
if (len(username) < 3):
print("username invalid")
print("minimal panjang username adalah 3")
else:
print("username valid")
Contoh diatas merupakan contoh sederhana sobs-sobs, fungsi len() ini biasanya untuk melakukan validasi terdapat inputan user. silahkan sobs-sobs sekalian bereksperimen sendiri.- perulangan
taukah sobs-sobs di python kita bisa melakukan perulangan terhadap string, dan value yang dikembalikan berupa karakter dari string itu sendiri, karena pada prinsipnya string merupakan kumpulan dari beberapa karakter
title = "hello"
for char in title:
print(char)
# output
# h
# e
# l
# l
# o
yang perlu diperhatikan contoh diatas kita melakukan perulangan dengan menggunakan operator membership dipython, menurut gua operator ini merupakan suatu magic dipython. - akses karakter
terkadang dalam suatu kasus kita ingin mengakses suatu kumpulan karakter berdasarkan index di string, untuk itu dipython cara mengakses suatu karakter atau range karakter string cukup mudah yaitu dengan tanda bracket [] dan didalamnya kita isi dengan index yang kita tentukan. oh iya index disuatu string dimulai dari 0. berikut ini beberapa contoh akses karakter :
title = "ngopikuy"
# contoh 1
print(title[0]) # n
# contoh 2
print(title[5:]) # kuy
# contoh 3
print(title[2:5]) # opi
# contoh 4
print(title[:5]) # ngopi
Oke silahkan kita fokus sobs-sobs pada contoh diatas, adapun penjelasannya sebagai berikut :- contoh 1 : kita mengambil karakter dengan index 0, dari contoh diatas huruf 'n' dari variabel title.
- contoh 2 : kita mengambil karakter dimulai dari index ke - 5 sampai terakhir, jika sobs-sobs perhatikan penulisan contoh ke-2 adalah [index:] jika kita tidak menulis angka ke-2 setelah tanda : maka python menganggap pengambilan index sampai terakhir.
- contoh 3 : kita mengambil karakter dimulai dari index 2 sampai ke-4, lah kok ke-4 bukannya kita disitu menulis angka-5 ? ya angka 5 artinya batas index ya sobs-sobs, jika kita menulis 5 artinya angka index ke-5 tidak ikut disertakan.
- contoh 4 : kita mengambil karakter dari awal (index 0) sampai index ke-4, sama seperti contoh 3 jika kita menulis angka setelah : maka angka itu menjadi batasan index dan angka itu sendiri tidak diikut sertakan.
silahkan sobs-sobs latihan dengan mengganti isi variabel sesuai dengan keinginan sobs-sobs.
- string method
oke pembahasan kali ini berkisar tentang method yang terdapat pada string, jika sobs-sobs belum mengetahui method silahkan diabaikan terlebih dahulu ya sobs-sobs karena method ini sebenarnya berkaitan dengan konsep OOP (Object Oriented Programming).
untuk melihat method yang melekat pada sebuah string kita bisa mengetahuinya dengan fungsi bawaan python yaitu dir().
title = "sruputkode"
print(dir(title))
# output
# ['__add__', '__class__', '__contains__', '__delattr__',
# '__dir__', '__doc__', '__eq__', '__format__', '__ge__',
# '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__',
# '__init__', '__init_subclass__', '__iter__', '__le__', '__len__',
# '__lt__', '__mod__', '__mul__', '__ne__',
# '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__',
# '__setattr__', '__sizeof__', '__str__', '__subclasshook__',
# 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith',
# 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha',
# 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric',
# 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans',
# 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust',
# 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip',
# 'swapcase', 'title', 'translate', 'upper', 'zfill']
Oke sekarang abaikan format __****__. selain huruf yang tanda underscore 2 kali itu adalah method string dipython sobs-sobs. disini gua hanya fokus beberapa method yang menurut gua penting untuk kita ketahui sobs-sobs.1. replace
method ini akan mereplace suatu bagian string sesuai dengan keinginan kita sobs-sobs, penulisan method yaitu replace(old, new[, count]) oh iya sobs-sobs jika ada tanda [ ] maka argument optional artinya boleh ditulis atau tidak dan argument ke-3 adalah jumlah yang ingin direplace, untuk lebih jelas berikut ini contohnya :
title = "python is awesome"
print(title) # python is awesome
title_replace = title.replace("awesome", "beautiful")
print(title_replace) # python is beautiful
words = "python python is beautiful"
print(words) # python python is beautiful
words_replace = words.replace("python", "dede", 1)
print(words_replace) # dede python is beautiful
silahkan simak ya sobs-sobs contoh diatas dan jangan lupa untuk dicoba dengan contoh lain.2. upper dan isupper
method upper ini akan mengubah seluruh element string menjadi huruf besar, dan method isupper akan mengecek apakah seluruh element semuanya huruf besar jika iya maka nilai kembaliannya True dan jika tidak maka False.
title = "sruputkode"
print(title) # sruputkode
title_upper = title.upper()
print(title_upper) # SRUPUTKODE
print(title.isupper()) # False
print(title_upper.isupper()) # True
oke kita akan ke next method3. lower dan islower
method lower ini akan mengubah seluruh element string menjadi huruf kecil semua sobs-sobs, dan method islower untuk mengecek apakah seluruh element semuanya huruf kecil hasil kembalian method ini juga berupa boolean True jika benar yang dicek semuanya huruf kecil, dan jika tidak maka False.
title = "SRUPUTKODE"
print(title) # SRUPUTKODE
title_lower = title.lower()
print(title_lower) # sruputkode
print(title.islower()) # False
print(title_lower.islower()) # True
ketiga method ini sebenernya mempunyai fungsi untuk menghapus suatu element di string,
- strip : meghapus element dikedua sisi yaitu kiri dan kanan
- lstrip : menghapus element disisi kiri (left)
- rstrip : menghapus element disisi kanan (right)
secara default jika kita tidak menuliskan argument maka ketiga method ini akan menghapus spasi. berikut ini contoh dibawah sobs-sobs :
title = " sruputkode "
print(title)
print(f"panjang title : {len(title)}")
title_strip = title.strip()
print(title_strip)
print(f"panjang title : {len(title)}")
print(f"panjang title hasil strip : {len(title_strip)}")
contoh diatas ketika kita tidak memasukan argument kedalam method, sedangkan untuk contoh ketika kita menuliskan argument adalah seperti dibawah ini sobs-sobs :
title = "+++sruputkode+++"
print(title) # ++sruputkode++
print(f"panjang title : {len(title)}") # panjang title : 16
title_strip = title.strip("+")
print(title_strip) # sruputkode
print(f"panjang title hasil strip : {len(title_strip)}") # panjang title hasil strip : 10
untuk lstrip dan rstrip silahkan sobs-sobs coba sendiri.5. center, rjust, dan ljust
fungsi dari ketiga method ini sebenarnya adalah menambahkan suatu element didalam string
- center : menambahkan element dikiri dan kanan suatu string, [length [, element]] jika element tidak ditulis maka secara default akan diganti dengan spasi. length yang dimaksud disini adalah jumlah kelseluruhan dari element string.
- ljust : menambahkan element string sebelah kanan artinya string kita berada disebelah kiri(left) dan akan ditambahkan kekanan.
- rjust : menambahkan element string sebelah kiri artinya string kita berada disebelah kanan(right) dan akan ditambahkan kekiri.
Oke untuk lebih jelasnya sobs silahkan lihat contoh dibawah ini :
title = "halo"
print(title) # halo
print(f"panjang title : {len(title)}") # panjang title : 4
# 1. center
title_center = title.center(10, "+")
print(title_center) # +++halo+++
print(f"panjang title center : {len(title_center)}") # panjang title center : 10
# 2. ljust
title_ljust = title.ljust(10, "+")
print(title_ljust) # halo++++++
print(f"panjang title ljust : {len(title_ljust)}") # panjang title ljust : 10
# 3. rjust
title_rjust = title.rjust(10, "+")
print(title_rjust) # ++++++halo
print(f"panjang title rjust : {len(title_rjust)}") # panjang title rjust : 10
silahkan diperhatikan ya sobs-sobs contoh diatas.
6. split
fungsi dari method ini mengubah suatu string menjadi list, jika argument tidak ditulis maka separator untuk mengubahnya menjadi list adalah spasi, perhatikan contoh dibawah ini sobs.
title = "sruputkode mantabs"
title_list1 = title.split()
print(title_list1) # ['sruputkode', 'mantabs']
title = "sruputkode+ngopikuy"
title_list2 = title.split("+")
print(title_list2) # ['sruputkode', 'ngopikuy']
7. joinfungsi dari method ini adalah untuk membuat komponen itterable seperti list, tuple dll menjadi sebuah string.
mantan = ['dian', 'dinda', 'kirana']
print(mantan) # ['dian', 'dinda', 'kirana']
mantan_join1 = " ".join(mantan)
print(mantan_join1) # dian dinda kirana
mantan_join2 = "++++".join(mantan)
print(mantan_join2) # dian++++dinda++++kirana
ke next method8. startswith dan endswith
kedua method ini untuk mengecek apakah suatu string diawali dan diakhir dengan suatu element yang kita cek. startswith untuk mengecek awalan dan endswith untuk mengecek akhiran,
title = "sruputkode is back"
print(title.startswith("sruputkode")) # True
print(title.startswith("kode")) # False
print(title.endswith("back")) # True
print(title.endswith("comeback")) # False
Nilai kembalian dari method ini berupa boolean, True jika benar dan False jika salah.9. count
method ini berfungsi untuk menghitung banyak suatu element didalam string, oke untuk lebih jelasnya sobs-sobs silahkan lihat contoh dibawah ini :
kalimat = "saya sedang makan makanan pedas pedasan"
print(kalimat.count("makan")) # 2
print(kalimat.count("pedas")) # 2
print(kalimat.count("manis")) # 0
10. isalphamethod ini digunakan untuk mengecek apakah suatu string seluruhnya adalah alphabet atau artinya huruf (a-z) (A-Z) baik kapital maupun tidak kapital. method ini mempunyai kembalian berupa boolean, True jika semuanya alphabet dan False jika semuanya tidak.
title = "sruputkode"
print(title.isalpha()) # True
title = "sruputkode10"
print(title.isalpha()) # False
11. isnumeric
method ini untuk mengecek apakah suatu string seluruhnya adalah angka atau numeric, method ini juga mempunyai nilai kembalian berupa boolean. untuk lebih jelasnya sobs-sobs silahkan lihat contoh dibawah
title = "123Oke"
print(title.isnumeric()) # False
title = "123"
print(title.isnumeric()) # True
12. isalnum
method ini untuk mengecek apakah suatu terdiri dari angka atau alphabet, ingat ya sobs-sobs walaupun suatu string hanya mengandung alphabet maka method ini mengembalikan True walaupun tanpa numeric atau sebaliknya. yang perlu digaris bawahi adalah pengecekan aplhabet atau numeric.
title = "sruputkode"
print(title.isalnum()) # True
title = "123"
print(title.isalnum()) # True
title = "sruputkode123"
print(title.isalnum()) # True
title = "_+_+_*&^%$"
print(title.isalnum()) # False
13. swapcase
method ini akan menukar suatu jenis case dari karakter string, artinya jika karakter kapital maka akan dijadikan huruf kecil begitu juga sebaliknya sobs-sobs.
title = "SrUpUT KodE"
print(title.swapcase()) # sRuPut kODe
Oke sobs-sobs sekalian mungkin sampai sini saja pembahasanya, sebenarnya untuk method masih banyak sekali untuk itu disarankan sobs-sobs mencari refrensi dilain tempat agar menambah wawasan tentunya.
See you next time.
Posting Komentar untuk "Lebih jauh tentang string di python"
Posting Komentar