String

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.

 

Bagikan:

Tinggalkan Balasan