Friday, 27 March 2015

6.3. Kemampuan String

Kita ingat sebentar apa yang bisa string lakukan untuk kita. 

  • >>> a='123'
  • >>> b='abc'
  • >>> c='  '
  • >>> a
  • '123'
  • >>> b
  • 'abc'
  • >>> c
  • ' '
  • >>> len(a),len(b),len(c)  # len() menghitung banyaknya karakter string
  • (3, 3, 1)
  • >>> a+c+b                       # '+' menyambungkan string
  • '123 abc'
  • >>> a*2+c+b*2                #'*' menggandakan string
  • '123123 abcabc'
  • >>> len(a*2+c+b*2)
  • 13
  • >>> 

Misalnya kita ingin menbuat garis putus-putus sebanyak 50 buah :

  • >>> d='----...------------'         # cara susah
  • >>> d
  • '----...------------'
  • >>> e='-'
  • >>> f=e*50                             # cara lebih baik
  • >>> f
  • '--------------------------------------------------'
  • >>> 
Untuk memsisipi sebuah atau lebih karakter pada sebuah string, kita bisa menggunakan statement 'for':

  1. >>> a='masih ngantuk nih'
  2. >>> for i in a:print(i, end='*')        #tekan tombol enter 2x 

  3. m*a*s*i*h* *n*g*a*n*t*u*k* *n*i*h*
  4. >>> for i in a:print(i, end='--')            #tekan tombol enter 2x

  5. m--a--s--i--h-- --n--g--a--n--t--u--k-- --n--i--h--
  6. >>> 
Pada baris ke 2 'for i in a'  berarti for(i=0 ; i<=len(a) ; i++) dan print(i,end='*') python mengartikan i merupakan string yang setiap karakternya diakhiri dengan '*'.

Untuk mengetahui sebuah atau lebih karakter pada string diatas :

  1. >>> 'a' in a
  2. True
  3. >>> 's' in a
  4. True
  5. >>> 
Contoh diatas, kita mencari apakah ada karakter 'a' dan 's' pada string a, dan hasilnya ada.

String juga memiliki metode-metode yang memudahkan kita memanipulasi string.

Metode


str.capitalize() Menbuat string dan karakter pertama akan diberikan hurup besar.
str.casefold() Membuat string dan biasanya digunakan untuk membandingkan secara caseless. Sebagai contoh hurup jerman 'ß ' yang ekuivalen dengan 'ss', akan dikonversikan menjadi 'ss'


>>> b='ß'
>>> b
'ß'
>>> b.casefold()
'ss'
>>>
str.center(width[,karakter]) Menjadikan string berada ditengah-tengah, dan diapit oleh karakter. Spasi adalah karakter defaut bila tidak diisi.


Width adalah panjang string yang akan dibuat, width => string.
Karakter adalah karakter yang akan mengisi disisi kiri dan kanan string tersebut.


>>> a
'hello'
>>> a.center(20,'*')
'*******hello********'
>>>
str.count(sub[,start[,end]]) Menghitung karakter dari sebuah string.


Sub = satu atau lebih karakter yang akan dihitung.
Start = awal index string
end = akhir index string


>>> a
'hello'
>>> a.count('l',4,10)
0
>>> a.count('l',0,5)
2
>>> a.count('el',0,5)
1
>>>
str.encode(encoding="utf-8", errors="strict")
Mengkonversi string dengan pemetaan karakter yang lain.
'strict' merupakan default.
str.endswith(suffix[,start[,end]])
Menghasilkan boolean 'true' atau 'false'.
Suffix = akhiran dari string.
start = index awal dari string.
end = index akhir dari string.


>>> a
'hello'
>>> suf
'll'
>>> a.endswith(suf,0,3)
False
>>> a.endswith(suf,0,4)
True
>>>
str.expandtabs(tabsize=8)
Mengganti semua escape sequence \t dengan spasi.


>>> a='hallo\tselamat\tpagi'
>>> a
'hallo\tselamat\tpagi'
>>> a.expandtabs(5) #ganti \t dengan 5 spasi
'hallo selamat pagi'
>>>
str.find(sub[,start[,end]])
Mencari satu atau lebih karakter dari string. Menghasilkan -1 bila pencaharian gagal, dan index string bila pencarian berhasil.


>>> a
'almanak aladin alturun'
>>>
>>> a.find('al')
0
>>> a.find('lm')
1
>>> a.find('zz')
-1
>>> a.find('adin')
10
>>>
str.format(*args,**kwargs)
>>> '{0} sangat {1} bila {2} {3}'.format('Jakarta','macet','jam',7)
'Jakarta sangat macet bila jam 7'
>>>
str.index(sub[,start[,end]])
Seperti str.find, tapi menghasilkan error bila karakter tidak ditemukan.
>>> a.index('adin')
10
>>> a.index('zz')
Traceback (most recent call last):
File "<pyshell#84>", line 1, in <module>
a.index('zz')
ValueError: substring not found
>>>
str.isalnum()
Menghasilkan 'true' bila karakter string adalah alphanumeric dan setidaknya terdapat satu karakter, dan 'false' bila sebaliknya.
>>> dd='c'
>>> dd.isalnum()
True
>>> dd='8'
>>> dd.isalnum()
True
>>> dd=''
>>> dd.isalnum()
False
>>>
str.isalpha()
Menghasilkan 'true' bila string merupakan alphabet dan setidaknya terdapat satu karater, dan 'false' bila sebaliknya.
>>> dd='hello 12'
>>> dd.isalpha()
False
>>> dd='hello'
>>> dd.isalpha()
True
>>>
str.isdecimal()
Menghasilkan 'true' bila string merupakan angka decimal dan setidaknya terdapat satu karater, dan 'false' bila sebaliknya.
str.isdigit()
Menghasilkan 'true' bila string merupakan digit dan setidaknya terdapat satu karater, dan 'false' bila sebaliknya.
str.isidentifier()
Menghasilkan 'true' bila string merupakan identifier, dan 'false' bila sebaliknya.
str.islower()
Menghasilkan 'true' bila string merupakan karakter string semuanya hurup kecil dan setidaknya terdapat satu karater, dan 'false' bila sebaliknya.
str.isnumeric()
Menghasilkan 'true' bila string merupakan karakter numerik dan setidaknya terdapat satu karater, dan 'false' bila sebaliknya.
str.isprintable()
Menghasilkan 'true' bila string dapat dicetak atau kosong, dan 'false' bila sebaliknya.
str.isspace()
Menghasilkan 'true' bila string merupakan spasi dan setidaknya terdapat satu karater, dan 'false' bila sebaliknya.
str.istitle()
Menghasilkan 'true' bila string merupakan titlecased dan setidaknya terdapat satu karater, dan 'false' bila sebaliknya.
>>> dd= 'halo jakarta'
>>> dd.istitle()
False
>>> dd='Hallo jakarta'
>>> dd.istitle()
False
>>> dd='Halo Jakarta'
>>> dd.istitle()
True
>>>
str.isupper()
Menghasilkan 'true' bila string merupakan hurup kapital dan setidaknya terdapat satu karater, dan 'false' bila sebaliknya.
str.join(iterable)


str.ljust(width[,fillchar])


str.lower()
Mengkonversikan string menjadi hurup kecil.
str.lstrip([chars])
Menghapus karakter awal.
>>> dd
'Halo Jakarta'
>>> dd.lstrip('Hjk')
'alo Jakarta'
>>> dd.lstrip('Ha')
'lo Jakarta'
>>>


No comments:

Post a Comment