Operasi Dasar pada String
Pengenalan dan Penggunaan
String adalah potongan-potongan teks. Mereka dapat didefinisikan sebagai apapun di antara tanda kutip:
astring = "Hello world!"astring2 = 'Hello world!'
Seperti yang Anda lihat, hal pertama yang Anda pelajari adalah mencetak kalimat sederhana. Kalimat ini disimpan oleh Python sebagai string. Namun, alih-alih langsung mencetak string, kita akan menjelajahi berbagai hal yang bisa kita lakukan padanya. Anda juga bisa menggunakan tanda kutip tunggal untuk menetapkan string. Namun, Anda akan menghadapi masalah jika nilai yang akan ditetapkan itu sendiri berisi tanda kutip tunggal. Misalnya untuk menetapkan string di dalam tanda kurung (tanda kutip tunggal adalah ' ') Anda perlu menggunakan tanda kutip ganda seperti ini
astring = "Hello world!"print("tanda kutip tunggal adalah ' '")print(len(astring))
Ini mencetak 12, karena "Hello world!" memiliki panjang 12 karakter, termasuk tanda baca dan spasi.
astring = "Hello world!"print(astring.index("o"))
Ini mencetak 4, karena lokasi kemunculan pertama huruf "o" adalah 4 karakter dari karakter pertama. Perhatikan bagaimana sebenarnya ada dua o dalam frase tersebut - metode ini hanya mengenali yang pertama.
Tapi mengapa tidak mencetak 5? Bukankah "o" adalah karakter kelima dalam string? Untuk membuatnya lebih sederhana, Python (dan sebagian besar bahasa pemrograman lainnya) memulai segala sesuatu dari 0 bukan 1. Jadi indeks "o" adalah 4.
astring = "Hello world!"print(astring.count("l"))
Untuk Anda yang menggunakan font lucu, itu adalah huruf kecil L, bukan angka satu. Ini menghitung jumlah l dalam string. Oleh karena itu, seharusnya mencetak 3.
astring = "Hello world!"print(astring[3:7])
Ini mencetak potongan dari string, dimulai dari indeks 3, dan berakhir pada indeks 6. Tapi mengapa 6 bukan 7? Sekali lagi, sebagian besar bahasa pemrograman melakukan ini - ini membuat perhitungan di dalam tanda kurung tersebut lebih mudah.
Jika Anda hanya memiliki satu angka dalam tanda kurung, itu akan memberi Anda satu karakter tunggal di indeks tersebut. Jika Anda meninggalkan angka pertama tapi tetap mempertahankan titik dua, itu akan memberi Anda potongan dari awal hingga angka yang Anda tinggalkan. Jika Anda meninggalkan angka kedua, itu akan memberi Anda potongan dari angka pertama hingga akhir.
Anda bahkan bisa menempatkan angka negatif di dalam tanda kurung. Mereka adalah cara mudah untuk memulai dari akhir string bukan awal. Dengan cara ini, -3 berarti "karakter ke-3 dari akhir".
astring = "Hello world!"print(astring[3:7:2])
Ini mencetak karakter string dari 3 hingga 7 dengan melewati satu karakter. Ini adalah sintaks slice yang diperpanjang. Bentuk umumnya adalah [mulai:berhenti:langkah].
astring = "Hello world!"print(astring[3:7])print(astring[3:7:1])
Perhatikan bahwa keduanya menghasilkan output yang sama.
Tidak ada fungsi seperti strrev dalam C untuk membalikkan string. Tetapi dengan sintaks slice yang disebutkan di atas, Anda dapat dengan mudah membalikkan string seperti ini
astring = "Hello world!"print(astring[::-1])
Juga seperti ini
astring = "Hello world!"print(astring.upper())print(astring.lower())
Ini membuat string baru dengan semua huruf dikonversi menjadi huruf kapital dan huruf kecil, secara berturut-turut.
astring = "Hello world!"print(astring.startswith("Hello"))print(astring.endswith("asdfasdfasdf"))
Ini digunakan untuk menentukan apakah string dimulai dengan sesuatu atau berakhir dengan sesuatu, secara berturut-turut. Yang pertama akan mencetak True, karena string dimulai dengan "Hello". Yang kedua akan mencetak False, karena string tentu tidak diakhiri dengan "asdfasdfasdf".
astring = "Hello world!"afewwords = astring.split(" ")
Ini memisahkan string menjadi sekelompok string yang dikelompokkan bersama dalam sebuah daftar. Karena contoh ini memisahkan pada spasi, item pertama dalam daftar akan menjadi "Hello", dan yang kedua akan menjadi "world!".
Latihan
Coba perbaiki kode untuk mencetak informasi yang benar dengan mengubah string.
s = "Hey there! what should this string be?"# Panjangnya harus 20print("Panjang s = %d" % len(s))# Kemunculan pertama dari "a" harus di indeks 8 print("Kemunculan pertama dari huruf a = %d" % s.index("a")) # Jumlah a harus 2 print("a muncul %d kali" % s.count("a")) # Memotong string menjadi bagian print("Lima karakter pertama adalah '%s'" % s[:5]) # Awal hingga 5 print("Lima karakter berikutnya adalah '%s'" % s[5:10]) # 5 hingga 10 print("Karakter ketiga belas adalah '%s'" % s[12]) # Hanya angka 12 print("Karakter dengan indeks ganjil adalah '%s'" %s[1::2]) #(0-based indexing) print("Lima karakter terakhir adalah '%s'" % s[-5:]) # Ke-5 dari akhir hingga akhir # Mengonversi semua huruf menjadi huruf kapital print("String dalam huruf besar: %s" % s.upper()) # Mengonversi semua huruf menjadi huruf kecil print("String dalam huruf kecil: %s" % s.lower()) # Periksa bagaimana string dimulai if s.startswith("Str"): print("String dimulai dengan 'Str'. Bagus!") # Periksa bagaimana string berakhir if s.endswith("ome!"): print("String diakhiri dengan 'ome!'. Bagus!") # Membagi string menjadi tiga string terpisah, # masing-masing hanya berisi satu kataprint("Bagi kata-kata dari string: %s" % s.split(" "))