String adalah tipe data yang paling sering digunakan di Python. Kita bisa membuat string dengan meletakkan karakter di dalam tanda kutip. Tanda kutipnya bisa kutip tunggal maupun kutip ganda. Contohnya adalah sebagai berikut:
var1 = 'Hello Python' var2 = 'Programming with Python'
Mengakses Nilai String
Untuk mengakses nilai atau substring dari string, kita menggunakan indeks dalam tanda [ ].
var1 = 'Hello Python!'
var2 = "I love Python"
print("var1[0]", var1[0])
print("var2[2:6]:",var2[2:6])
Bila kode di atas dijalankan, hasilnya akan muncul seperti berikut:
var1[0]: H var2[2:6]: love
Mengupdate String
String adalah tipe data immutable, artinya tidak bisa diubah. Untuk mengupdate string, kita perlu memberikan nilai variabel string lama ke string yang baru. Nilai yang baru adalah nilai string lama yang sudah diupdate.
var1 = 'Hello Python!'
var2 = var1[:6]
print("String Update: - ", var1[:6] + 'World')
Hasilnya adalah sebagai berikut:
String Update: - Hello World
Menggabung String
Kita bisa menggabungkan dua atau lebih string menjadi satu dengan menggunakan operator +. Selain itu kita juga bisa melipatgandakan string menggunakan operator *.
str1 = 'Hello'
str2 = 'Python'
# menggunakan +
print('str1 + str2 =', str1 + str2)
# menggunakan *
print('str1 * 3 =', str1 * 3)
Menguji Keanggotaan Karakter Dalam String
Kita bisa menguji apakah sebuah substring ada terdapat di dalam suatu string atau tidak. Caranya adalah dengan menggunakan kata kunci in
>>> 'a' in 'Programming' True >>> 'at' not in 'battle' False
Mengetahui Panjang String
Untuk mengetahui panjang dari string, kita bisa menggunakan fungsi len().
>>> string = 'I love Python' >>> len(string) 18
Karakter Escape
Kalau kita hendak mencetak string: He said, "What's there?"
kita tidak bisa menggunakan tanda kutip tunggal maupun ganda. Bila kita melakukannya, akan muncul pesan error SyntaxError karena teks berisi kutip tunggal dan ganda.
>>> print("He said, "What's there?"") ... SyntaxError: invalid syntax >>> print('He said, "What's there?"') ... SyntaxError: invalid syntax
Untuk hal seperti ini kita bisa menggunakan tanda kutip tiga atau menggunakan karakter escape.
Karakter escape dimulai dengan tanda backslash \. Interpreter akan menerjemahkannya dengan cara berbeda dengan string biasa. Solusi untuk error di atas adalah sebagai berikut:
# menggunakan kutip tiga
print('''He said, "What's there?"''')
# menggunakan karakter escape untuk tanda kutip tunggal
print('He said, "What\'s there?"')
# menggunakan karakter escape untuk tanda kutip ganda
print("He said, \"What's there?\"")
Berikut adalah daftar karakter escape yang didukung oleh Python.
Karakter Escape | Deskripsi |
\newline | Backslash dan newline diabaikan |
\\ | Backslash |
\’ | Kutip tunggal |
\” | Kutip ganda |
\a | ASCII bel |
\b | ASCII backscape |
\f | ASCII formfeed |
\n | ASCII linefeed |
\r | ASCII carriage return |
\t | ASCII tab horizontal |
\v | ASCII tab horizontal |
\ooo | karakter dengan nilai oktal oo |
\xHH | karakter dengan nilai heksadesimal HH |
Berikut ini adalah beberapa contohnya:
>>> print("C:\\Python34\\Lib") C:\Python34\Lib >>> print("Ini adalah baris pertama\nDan ini baris dua") Ini adalah baris pertama Dan ini baris dua >>> print("Ini adalah \x48\x45\x58") Ini adalah HEX
Raw String Untuk Mengabaikan Karakter Escape
Kadang kala kita perlu untuk mengabaikan karakter escape yang ada dalam string. Kita bisa melakukannya dengan meletakkan huruf r
atau R
sebelum tanda kutip string.
>>> print("This is \x61 \ngood example") This is a good example >>> print(r"This is \x61 \ngood example") This is \x61 \ngood example
Mengatur Format String
Ada dua cara melakukan format pada string. Pertama dengan menggunakan fungsi format(), dan kedua dengan menggunakan cara lama (menggunakan %).
Metode format()
Memformat string dengan fungsi format()
dibuat dengan menggunakan tanda {} sebagai placeholder atau posisi substring yang akan digantikan. Kita biasa menggunakan argumen posisi atau kata kunci untuk menunjukkan urutan dari substring.
# menggunakan posisi default
default_order = "{}, {} dan {}".format("Budi", "Galih","Ratna")
print('\n--- Urutan default ---')
print(default_order)
# menggunakan argument posisi
positional_order = "{1}, {0} dan {2}".format("Budi", "Galih","Ratna")
print('\n--- Urutan berdasarkan posisi ---')
print(positional_order)
# menggunakan argumen kata kunci
keyword_order = "{r}, {b} dan {g}".format("Budi", "Galih","Ratna")
print('\n--- Urutan berdasarkan kata kunci ---')
print(keyword_order)
Metode format() dapat memiliki spesifikasi format opsional. Misalnya, kita bisa menggunakan tanda < untuk rata kiri, > untuk rata kanan, ^ untuk rata tengah, dan sebagainya.
>>> # format integer >>> "{0} bila diubah jadi biner menjadi {0:b}".format(12) '12 bila diubah jadi biner menjadi 1100' >>> # format float >>> "Format eksponensial: {0:e}".format(1566.345) 'Format eksponensial: 1566345e+03' >>> # pembulatan >>> "Sepertiga sama dengan: {0:.3f}".format(1/3) 'Sepertiga sama dengan: 0.333' >>> # Meratakan string >>> "|{:<10}|{:^10}|{:>10}|".format('beras', 'gula', 'garam') '|beras | gula | garam|'
Format Cara Lama Dengan %
Kita bisa menggunakan operator % untuk melakukan format string.
>>> nama = 'Budi' >>> print('Nama saya %s' %s) Nama saya Budi >>> x = 12.3456789 >>> print('Nilai x = %3.2f' %x) Nilai x = 12.35 >>> print('Nilai x = %3.4f' %x) Nilai x = 12.3456
Metode / Fungsi Bawaan String
String memiliki banyak fungsi bawaan. format()
yang kita bahas di atas hanya salah satu darinya. Fungsi atau metode lainnya yang sering dipakai adalah join()
, lower()
, upper()
, split()
, startswith()
, endswith()
, replace()
dan lain sebagainya.
>>> "PythonIndo".lower() 'pythonindo' >>> "Pythonindo".upper() 'PYTHONINDO' >>> "I love programming in Python".split() ['I', 'love', 'programming', 'in', 'Python'] >>> "I love Python".startswith("I") True >>> "Saya belajar Python".endswith("on") True >>> ' - '.join(['I', 'love', 'you']) I - love - you >>> "Belajar Java di Pythonindo".replace('Java', 'Python') 'Belajar Python di Pythonindo
Selain itu masih banyak metode lain yang dimiliki python. Kita akan bahas di artikel lain.