For AI agents: use /llms.txt for the Nakafa content index.
Dalam Python, string adalah urutan karakter Unicode yang tidak dapat diubah. Urutannya penting: setiap karakter memiliki posisi, dan operasi seperti pengindeksan serta pengirisan memakai urutan tersebut.
String memiliki tiga karakteristik utama yang perlu kamu pahami:
str: Python menyimpan nilai yang dihasilkan sebagai string.# Contoh string dengan kutip tunggal
>>> 'hello'
'hello'
# Contoh string dengan kutip ganda
>>> "hello"
'hello'
# Menampilkan string dengan print
>>> print("hello")
hello
# Menyimpan string dalam variabel
>>> text = 'hello'
>>> text
'hello'Prompt interaktif menampilkan representasi string, sehingga Python dapat memilih kutip tunggal atau ganda agar representasinya mudah dibaca. print() menulis nilai string itu sendiri tanpa tanda kutip pembatas literal.
Python memungkinkan kamu membuat string kosong dan mengubah tipe data lain menjadi string.
String kosong tidak memuat karakter dan panjangnya nol. Kamu dapat menulisnya dengan sepasang tanda kutip tanpa isi.
# Membuat string kosong
>>> teks_kosong = ""
>>> teks_kosong
''Fungsi str() meminta bentuk string yang mudah dibaca dari suatu nilai. Gunakan fungsi ini ketika teks perlu memuat angka atau nilai non-string lainnya.
# Mengubah angka menjadi string
>>> str(5)
'5'
# Mengubah float menjadi string
>>> xstr = str(3.4)
>>> print(xstr)
3.4Python membedakan pemecahan kode sumber ke beberapa baris dari penyimpanan karakter baris baru di dalam string.
Backslash di akhir baris fisik kode sumber melanjutkan pernyataan secara eksplisit. Pada contoh ini, pernyataan yang dilanjutkan memuat dua literal berdekatan yang digabung Python tanpa menambahkan baris baru ke nilainya.
# Melanjutkan pernyataan dengan backslash
>>> text = 'xxx' \
... 'yyy'
>>> text
'xxxyyy'
>>> print(text)
xxxyyyDi dalam tanda kurung, Python melanjutkan pernyataan secara implisit. Cara ini biasanya lebih mudah dibaca dan lebih aman disunting daripada backslash eksplisit.
# Melanjutkan pernyataan di dalam tanda kurung
>>> text = (
... 'xxx'
... 'yyy'
... )
>>> text
'xxxyyy'
>>> print(text)
xxxyyyLiteral dengan tiga tanda kutip dapat menyimpan baris baru yang sebenarnya. Baris baru tersebut menjadi karakter \n di dalam nilai string.
# String tiga kutip dengan baris baru sebenarnya
>>> text = '''xxx
... yyy
... zzz'''
>>> text
'xxx\nyyy\nzzz'
>>> print(text)
xxx
yyy
zzzTiga kutip ganda bekerja dengan cara yang sama. Pilih pembatas yang membuat teks paling mudah dibaca dan tidak perlu banyak escape.
Python dapat menggabungkan literal string saat membaca kode sumber atau menggabungkan nilai string ketika program berjalan.
Literal string yang bersebelahan digabung saat Python membaca kode sumber. Sintaks ini hanya berlaku untuk literal, bukan variabel.
# String literal berdekatan otomatis digabung
>>> 'hello ' 'world'
'hello world'
# Menggabungkan beberapa string sekaligus
>>> "hel" 'lo' " world" '!'
'hello world!'Operator + menggabungkan dua nilai string saat program berjalan.
# Menggunakan operator + untuk penggabungan
>>> 'hello ' + 'world'
'hello world'Operator * mengulang string sebanyak bilangan bulat yang diberikan.
# Mengulang string dengan operator *
>>> 3 * '+o+'
'+o++o++o+'Variabel menyimpan nilai, bukan token literal, sehingga penggabungannya memerlukan operator.
Gunakan + untuk menggabungkan nilai string dan * bersama bilangan bulat untuk mengulangnya. Meletakkan nama variabel bersebelahan tanpa operator merupakan sintaks yang tidak valid.
# Mendefinisikan variabel string
>>> text1 = 'hello'
>>> text2 = 'world!'
>>> text3 = '+o+'
>>> a = 3
# Menggabungkan dengan operator +
>>> text1 + ' world!'
'hello world!'
>>> 'hello ' + text2
'hello world!'
>>> text1 + ' ' + text2
'hello world!'
# Mengulang dengan operator *
>>> a * text3
'+o++o++o+'
>>> text3 * a
'+o++o++o+'Bentuk berikut gagal ketika Python membaca kode karena tidak ada operator di antara variabel dan ekspresi berikutnya.
# KESALAHAN: Tidak dapat menggabung variabel tanpa operator
>>> text1 'world'
SyntaxError ...
>>> 'hello ' text2
SyntaxError ...
>>> text1 text2
SyntaxError ...