Dasar-dasar string dalam Python

Selesai

Meskipun string di Python tampak sederhana dan mudah, ada beberapa kompleksitas dalam aturan string yang penting untuk dipengaruhi. Mengetahui aturan membantu Anda menghindari terkejut dengan perilaku string saat Anda memodifikasi nilai atau memformat teks.

String sederhana

Dalam contoh kami untuk unit ini, Anda memiliki satu fakta tentang Bulan yang ditetapkan ke variabel, seperti ini:

fact = "The Moon has no atmosphere."
print(fact)

Output menunjukkan bahwa teks telah ditetapkan ke variabel: The Moon has no atmosphere.

Kekekalan string

Di Python, string tidak dapat diubah. Artinya, mereka tidak dapat berubah. Properti jenis string ini bisa mengejutkan, karena Python tidak memberi Anda kesalahan saat Anda mengubah string.

Anda perlu menambahkan fakta lain (kalimat) ke satu fakta yang ditetapkan ke variabel. Tampaknya menambahkan fakta kedua akan mengubah variabel, seperti dalam contoh berikut:

fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."

Anda mungkin mengharapkan output menjadi: The Moon has no atmosphere.No sound can be heard on the Moon.

Meskipun mungkin terlihat seolah-olah kita telah memodifikasi variabel fact, pemeriksaan cepat dari nilai mengungkapkan bahwa nilai aslinya tidak berubah:

fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."
print(fact)

Output: The Moon has no atmosphere.

Triknya adalah Anda harus menggunakan nilai pengembalian. Saat Anda menambahkan string, Python tidak memodifikasi string apa pun, tetapi mengembalikan string baru sebagai hasilnya. Untuk mempertahankan hasil baru ini, tetapkan ke variabel baru:

fact = "The Moon has no atmosphere."
two_facts = fact + "No sound can be heard on the Moon."
print(two_facts)

Output: The Moon has no atmosphere.No sound can be heard on the Moon.

Operasi pada string selalu menghasilkan string baru sebagai hasilnya.

Tentang menggunakan tanda kutip

Anda dapat mengapit string Python dalam tanda kutip tunggal, ganda, atau tiga kali lipat. Meskipun Anda dapat menggunakannya secara bergantian, yang terbaik adalah menggunakan satu jenis secara konsisten dalam proyek. Misalnya, string berikut menggunakan tanda kutip ganda:

moon_radius = "The Moon has a radius of 1,080 miles."

Namun, ketika string berisi kata, angka, atau karakter khusus (substring) yang juga diapit dalam tanda kutip, Anda harus menggunakan gaya yang berbeda. Misalnya, jika substring menggunakan tanda kutip ganda, sertakan seluruh string dalam tanda kutip tunggal, seperti yang ditunjukkan di sini:

'The "near side" is the part of the Moon that faces the Earth.'

Demikian pula, jika ada tanda kutip tunggal (atau apostrof, seperti pada Moon dalam contoh berikut) di mana saja dalam string, sertakan seluruh string dalam tanda kutip ganda:

"We only see about 60% of the Moon's surface."

Kegagalan untuk tanda kutip tunggal dan ganda alternatif dapat menyebabkan penerjemah Python memunculkan kesalahan sintaks, seperti yang ditunjukkan di sini:

'We only see about 60% of the Moon's surface.'
  File "<stdin>", line 1
    'We only see about 60% of the Moon's surface.'
                                       ^
SyntaxError: invalid syntax

Saat teks memiliki kombinasi tanda kutip tunggal dan ganda, Anda dapat menggunakan tanda kutip tiga kali lipat untuk mencegah masalah dengan penerjemah:

"""We only see about 60% of the Moon's surface, this is known as the "near side"."""

Teks multibaris

Ada beberapa cara berbeda untuk menentukan beberapa baris teks sebagai satu variabel. Cara yang paling umum adalah:

  • Gunakan karakter baris baru (\n).
  • Gunakan tanda kutip tiga (""").

Karakter baris baru memisahkan teks menjadi beberapa baris saat Anda mencetak output:

multiline = "Facts about the Moon:\n There is no atmosphere.\n There is no sound."
print(multiline)
Facts about the Moon:
 There is no atmosphere.
 There is no sound.

Anda dapat mencapai hasil yang sama dengan menggunakan tanda kutip tiga:

multiline = """Facts about the Moon:
 There is no atmosphere. 
 There is no sound."""
print(multiline)