String

16 views
String,5 / 5 ( 1votes )

String yakni tipe data yang paling sering digunakan di Python. Kita sanggup menciptakan string dengan meletakkan karakter di dalam tanda kutip. Tanda kutipnya sanggup kutip tunggal maupun kutip ganda. Contohnya yakni sebagai berikut:

var1 = 'Hello Python'
var2 = 'Programming with Python'

Mengakses Nilai String

Untuk mengakses nilai atau substring dari string, kita memakai indeks dalam tanda [ ].


var1 = 'Hello Python!'
var2 = "I love Python"
print("var1[0]", var1[0])
print("var2[2:6]:",var2[2:6])

Bila instruksi di atas dijalankan, alhasil akan muncul ibarat berikut:

var1[0]: H
var2[2:6]: love

Mengupdate String

String yakni tipe data immutable, artinya tidak sanggup diubah. Untuk mengupdate string, kita perlu memperlihatkan nilai variabel string usang ke string yang baru. Nilai yang gres yakni nilai string usang yang sudah diupdate.

 
var1 = 'Hello Python!'
var2 = var1[:6]
print("String Update: - ", var1[:6] + 'World')

Hasilnya yakni sebagai berikut:

String Update: - Hello World

Menggabung String

Kita sanggup menggabungkan dua atau lebih string menjadi satu dengan memakai operator +. Selain itu kita juga sanggup melipatgandakan string memakai operator *.


str1 = 'Hello'
str2 = 'Python'

# memakai +
print('str1 + str2 =', str1 + str2)

# memakai *
print('str1 * 3 =', str1 * 3)

Menguji Keanggotaan Karakter Dalam String

Kita sanggup menguji apakah sebuah substring ada terdapat di dalam suatu string atau tidak. Caranya yakni dengan memakai kata kunci in

>>> 'a' in 'Programming'
True
>>> 'at' not in 'battle'
False

Mengetahui Panjang String

Untuk mengetahui panjang dari string, kita sanggup memakai fungsi len().

>>> string = 'I love Python'
>>> len(string)
18

 

Karakter Escape

Kalau kita hendak mencetak string: He said, "What's there?" kita tidak sanggup memakai tanda kutip tunggal maupun ganda. Bila kita melakukannya, akan muncul pesan error SyntaxError sebab 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 ibarat ini kita sanggup memakai tanda kutip tiga atau memakai karakter escape.

Karakter escape dimulai dengan tanda backslash \. Interpreter akan menerjemahkannya dengan cara berbeda dengan string biasa. Solusi untuk error di atas yakni sebagai berikut:


# memakai kutip tiga
print('''He said, "What's there?"''')

# memakai karakter escape untuk tanda kutip tunggal
print('He said, "What\'s there?"')

# memakai karakter escape untuk tanda kutip ganda
print("He said, \"What's there?\"")

Berikut yakni 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 yakni beberapa contohnya:

>>> print("C:\\Python34\\Lib")
C:\Python34\Lib

>>> print("Ini yakni baris pertama\nDan ini baris dua")
Ini yakni baris pertama
Dan ini baris dua

>>> print("Ini yakni \x48\x45\x58")
Ini yakni HEX

Raw String Untuk Mengabaikan Karakter Escape

Kadang kala kita perlu untuk mengabaikan karakter escape yang ada dalam string. Kita sanggup melakukannya dengan meletakkan aksara 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 memakai fungsi format(), dan kedua dengan memakai cara usang (menggunakan %).

Metode format()

Memformat string dengan fungsi format() dibentuk dengan memakai tanda {} sebagai placeholder atau posisi substring yang akan digantikan. Kita biasa memakai argumen posisi atau kata kunci untuk memperlihatkan urutan dari substring.


# memakai posisi default
default_order = "{}, {} dan {}".format("Budi", "Galih","Ratna")
print('\n--- Urutan default ---')
print(default_order)

# memakai argument posisi
positional_order = "{1}, {0} dan {2}".format("Budi", "Galih","Ratna")
print('\n--- Urutan menurut posisi ---')
print(positional_order)

# memakai argumen kata kunci
keyword_order = "{r}, {b} dan {g}".format("Budi", "Galih","Ratna")
print('\n--- Urutan menurut kata kunci ---')
print(keyword_order)

Metode format() sanggup mempunyai spesifikasi format opsional. Misalnya, kita sanggup memakai 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 sanggup memakai 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 mempunyai banyak fungsi bawaan. format() yang kita bahas di atas hanya salah satu darinya. Fungsi atau metode lainnya yang sering digunakan yakni 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 mencar ilmu 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.

 

Author: 
    author
    No related post!