String
String ialah tipe data yang paling sering dipakai di Python. Kita mampu membuat string dengan meletakkan karakter di dalam tanda kutip. Tanda kutipnya mampu kutip tunggal maupun kutip ganda. Contohnya ialah 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 arahan di atas dijalankan, kesudahannya akan muncul menyerupai berikut:
var1[0]: H
var2[2:6]: love
Mengupdate String
String ialah tipe data immutable, artinya tidak mampu diubah. Untuk mengupdate string, kita perlu memperlihatkan nilai variabel string lama ke string yang baru. Nilai yang gres ialah nilai string lama yang sudah diupdate.
var1 = 'Hello Python!'
var2 = var1[:6]
print("String Update: - ", var1[:6] + 'World')
Hasilnya ialah sebagai berikut:
String Update: - Hello World
Menggabung String
Kita mampu menggabungkan dua atau lebih string menjadi satu dengan menggunakan operator +. Selain itu kita juga mampu 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 mampu menguji apakah sebuah substring ada terdapat di dalam suatu string atau tidak. Caranya ialah dengan menggunakan kata kunci in
>>> 'a' in 'Programming'
True
>>> 'at' not in 'battle'
False
Mengetahui Panjang String
Untuk mengetahui panjang dari string, kita mampu menggunakan fungsi len().
>>> string = 'I love Python'
>>> len(string)
18
Karakter Escape
Kalau kita hendak mencetak string: He said, "What's there?"
kita tidak mampu menggunakan tanda kutip tunggal maupun ganda. Bila kita melakukannya, akan muncul pesan error SyntaxError alasannya 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 menyerupai ini kita mampu 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 ialah 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 ialah 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 ialah beberapa contohnya:
>>> print("C:\\Python34\\Lib")
C:\Python34\Lib
>>> print("Ini ialah baris pertama\nDan ini baris dua")
Ini ialah baris pertama
Dan ini baris dua
>>> print("Ini ialah \x48\x45\x58")
Ini ialah HEX
Raw String Untuk Mengabaikan Karakter Escape
Kadang kala kita perlu untuk mengabaikan karakter escape yang ada dalam string. Kita mampu melakukannya dengan meletakkan karakter 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 melaksanakan 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 memperlihatkan 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() mampu memiliki spesifikasi format opsional. Misalnya, kita mampu menggunakan tanda < untuk rata kiri, > untuk rata kanan, ^ untuk rata tengah, dan sebagainya.
>>> # format integer
>>> "{0} jikalau diubah jadi biner menjadi {0:b}".format(12)
'12 jikalau 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 mampu menggunakan operator % untuk melaksanakan 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 ialah 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 berguru 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.