Bahasa Python - String Bagian I

String pada python adalah urutan karakter(sequence of characters ) atau tipe data yang paling populer di Python dengan melampirkan satu karakter atau lebih karakter dalam tanda kutip. Deklarasi suatu string pada python tidak dibedakan penggunaan tanda petik atau tanda petik tunggal. Membuat string sama sederhananya dengan memberikan nilai ke variabel. Anda dapat mengakses karakter satu per satu dengan operator braket:

>>> fruit = 'banana'
>>> letter = fruit[1]

Pernyataan kedua mengekstraksi karakter pada posisi indeks 1 dari variabel buah dan menetapkannya ke variabel huruf. Ekspresi dalam tanda kurung disebut indeks. Indeks menunjukkan karakter mana dalam urutan yang Anda inginkan (karena itu namanya).

Tetapi Anda mungkin tidak mendapatkan apa yang Anda harapkan:

>>> fruit = 'banana'
>>> letter = fruit[1]
>>> print(letter)
a

Bagi kebanyakan orang, huruf pertama “banana” adalah “b”, bukan “a”. Tetapi dengan Python, indeks adalah offset dari awal string, dan offset huruf pertama adalah nol.

>>> fruit = 'banana'
>>> letter = fruit[0]
>>> print(letter)
b
Traceback (most recent call last):
  File "main.py", line 2, in <module>
    letter = fruit [1,5]
TypeError: string indices must be integers, not tuple

Jadi “b” adalah huruf ke-0 (“0th”) dari “banana”, “a” adalah huruf ke-1 (“1th”), dan “n” adalah huruf ke-2 (“2th”) . Anda dapat menggunakan ekspresi apa pun, termasuk variabel dan operator, sebagai indeks, tetapi nilai indeks harus berupa bilangan bulat. Jika tidak, Anda mendapatkan:

box1

Memperoleh panjang string menggunakan len. len adalah fungsi built-in yang mengembalikan jumlah karakter dalam string:

>>> fruit = 'banana'
>>> len(fruit)
6

Untuk mendapatkan huruf terakhir string, Anda mungkin bermaksud untuk mencoba sesuatu seperti ini:

>>> length = len(fruit)
>>> last = fruit[length]
IndexError: string index out of range

Alasan untuk IndexError adalah bahwa tidak ada huruf di “banana” dengan indeks 6. Karena kami mulai menghitung nol, enam huruf diberi nomor 0 hingga 5. Untuk mendapatkan karakter terakhir, Anda harus mengurangi 1 dari panjang:

fruit = 'banana'
length = len(fruit)
last = fruit[length-1]
print(last)

Result:

a

Atau, Anda dapat menggunakan indeks negatif, yang menghitung mundur dari ujung string. Ekspresi fruit[-1] menghasilkan huruf terakhir, fruit[-2] menghasilkan yang kedua hingga yang terakhir, dan seterusnya.

Traversal melalui string dengan loop. Banyak perhitungan melibatkan pemrosesan string satu karakter pada suatu waktu. Seringkali mereka mulai di awal, pilih masing-masing karakter secara bergantian, lakukan sesuatu untuk itu, dan lanjutkan sampai akhir. Pola pemrosesan ini disebut traversal. Salah satu cara untuk menulis traversal adalah dengan while loop:

fruit = 'banana'
index = 0
while index < len(fruit):
    letter = fruit[index]
    print(letter)
    index = index + 1

Result:

b
a
n
a
n
a

Loop ini melintasi string dan menampilkan setiap huruf pada satu baris dengan sendirinya. Kondisi loop adalah index < len(fruit), jadi ketika indeks sama dengan panjang string, kondisi salah, dan body loop tidak dieksekusi. Karakter terakhir yang diakses adalah yang memiliki indeks len(fruit)-1, yang merupakan karakter terakhir dalam string.

Anda juga bisa menulis sebuah while loop yang dimulai pada karakter terakhir dalam string dan bekerja dengan cara mundur ke karakter pertama dalam string, mencetak setiap huruf pada baris yang terpisah, kecuali ke belakang. Cara lain untuk menulis traversal adalah dengan for loop:

fruit = 'banana'
for char in fruit:
    print(char)

Setiap kali melalui loop, karakter berikutnya dalam string ditugaskan ke variabel char. Pengulangan terus berlanjut hingga tidak ada karakter yang tersisa.

b
a
n
a
n
a

String slices. Segmen string disebut slices. Memilih slices mirip dengan memilih karakter:

s = 'makan python'
print(s[0:5])
s = 'makan python'
print(s[6:12])

Result:

makan
python

Operator return bagian string dari karakter “n-th” ke karakter “m-th”, termasuk yang pertama tetapi tidak termasuk yang terakhir. Jika Anda menghilangkan indeks pertama (sebelum titik dua), slices dimulai pada awal string. Jika Anda menghilangkan indeks kedua, slice pergi ke ujung string:

>>> fruit = 'banana'
>>> fruit[:3]
'ban'
>>> fruit[3:]
'ana'

Jika indeks pertama lebih besar dari atau sama dengan yang kedua hasilnya adalah string kosong, diwakili oleh dua tanda kutip:

>>> fruit = 'banana'
>>>
''