Press "Enter" to skip to content

Python Strings Metot -Karakter Dizilerine Ait Metotlar

Yaşar SAFALI 0

Python Strings Metodlar

Python Strings Metodlar

Bu yazımızda Karakter dizilerine ait metotları inceleyeceğiz.Python’da metotlar nesnelerin özelliklerini değiştirmemize,nitelikleri sorgulamamıza yarar.Python’da dir() komutu bizlere parametre olarak verdiğimiz objenin hangi metotlara sahip oldugunu gösterir.Öncelikle dir(str) yazarak karakter dizilerinin metotlarını görelim.Python Strings Metodlar
dir(str)

Output:

['__add__',
 '__class__',
 '__contains__',
 '__delattr__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__getitem__',
 '__getnewargs__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__iter__',
 '__le__',
 '__len__',
 '__lt__',
 '__mod__',
 '__mul__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__rmod__',
 '__rmul__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 'capitalize',
 'casefold',
 'center',
 'count',
 'encode',
 'endswith',
 'expandtabs',
 'find',
 'format',
 'format_map',
 'index',
 'isalnum',
 'isalpha',
 'isdecimal',
 'isdigit',
 'isidentifier',
 'islower',
 'isnumeric',
 'isprintable',
 'isspace',
 'istitle',
 'isupper',
 'join',
 'ljust',
 'lower',
 'lstrip',
 'maketrans',
 'partition',
 'replace',
 'rfind',
 'rindex',
 'rjust',
 'rpartition',
 'rsplit',
 'rstrip',
 'split',
 'splitlines',
 'startswith',
 'strip',
 'swapcase',
 'title',
 'translate',
 'upper',
 'zfill']
Karakter dizilerinin sahip olduğu metotlar yukarıda listelenmiştir.Bu metotları iki ana başlık altında inceleyebiliriz.Nitelik değiştiren metotlar ve nitelik sorgulayan metotlar.Şimdi o metotların başlıca kullanılanlarını inceleyelim.

Nitelik Değiştiren Metotlar

format()

Tanımlı bir karakter dizisinin içerisine değişken bir değer eklemek istiyoruz.Bunun için yapmamız gereken karakter dizisinde ilgili yere {} yazmamızdır.Bu sayede artık bu sembolün yerinde dışarda değişken bir değer ekleyebiliriz.Aşağıdaki örneği incelersek daha iyi anlayabiliriz.

degisken ="yazılım {} Python {}"
print(degisken.format("hanem","dersleri"))

Output:

yazılım hanem Python dersleri

 Yukarıda da görüldüğü gibi format metodu ile karakter dizisine dışarıdan değişken değer verebiliyoruz.Burda dikkat edilmesi gereken nokta karakter dizisi içerisinde kaç tane {} sembolü kullanılmışsa o kadar değişken eklememiz gerekmektedir.
Format metodunda {} parantezleri içerisine numara yazılabilir.Bu sayede hangi değişkenin hangi sırayla yazılacağı kulanıcı tarafından daha rahat görünür.
Örneğin
degisken ="Birinci deger {0} ikinci deger {1}"
print(degisken.format("hanem","python"))

 Output:

Birinci deger hanem ikinci deger python

 

 Bunun dışında bu metot kullanılırken {} işaretleri arasına değişken isimleri de yazılabilmektedir.Bu sayede metoda parametre olarak verilen değerlerin sırasını artık format() metodu kendisi otomatik olarak tespit eder.
degisken ="Yazılım {degisken1} Python {degisken2}"
print(degisken.format(degisken2="dersleri",degisken1="hanem"))

Output:

Yazılım hanem Python Dersleri

 Görüldüğü gibi artık değişken sırasını metot bizim yerimize tespit etmektedir.

 replace()

Bu metot karakter dizisi üzerinde değişiklik yapmaya yarar.Bir yada birden fazla karakterin değiştirilmesi için kullanılır.Aşağıdaki örnekte de görüldüğü gibi ilk parametrede yer alan karakter/karakter dizisini ikinci parametre de yer alan karakter/karakter dizisi ile değiştirdik.Bu metot üçüncü bir parametre alabilmektedir.Bu parametre karakter dizisi üzerinde işlemin kaç kere uygulanacağını belirtmeye yarar.Mesela biz değişikliğin tüm karakter dizisi üzerinde uygulanmasını değilde ilk görülen yerde uygulanmasını istiyoruz.O zaman üçüncü parametre olarak 1 yazmamız yeterlidir.Yada kaç kez uygulanmasını istiyorsak onu belirtmemiz yeterlidir.Aşağıdaki örnekte görüldüğü gibi 1 yazıldığında sadece ilk görüldüğü yerdekini değiştirdi.
Belirtmediğimiz durumda ise tüm karakter dizisi üzerinde uyguladı.

degisken="yazılımhanemy"
print(degisken.replace("y","Y",1))
print(degisken.replace("y","Y"))
print(degisken.replace("yaz","merhaba"))

Output:

Yazılımhanemy
YazılımhanemY
merhabaılımhanemy

 split()

split() metodu karakter dizilerini parçalamaya yarar.Parametre olarak verilen karakter/karakter dizisine göre bölme işlemi gerçekleştirir.Eğer split() metodunun uygulanacağı karakter dizisi parametre olarak verilen karakteri içermiyorsa değişiklik yapmaz.İçeriyorsa uygulama sayısı replace() metodunda olduğu gibi belirtilmemişse bütün dizide uygular eğer belirtilmişse uygulama sayısı kadar işlemi gerçekleştirir.
split metodundan bize dönen değerler artık bir listenin içerisinde yer alır.Yani bölünen karakter dizileri artık bir liste elemanıdır.

degisken="bilgisayar,mühendisliği,yazılım"
degisken=degisken.split(",")
print(degisken[0],"------",degisken[1],"----",degisken[2])

Output:

bilgisayar ------ mühendisliği ---- yazılım

 splitlines()

Bu metot karakter dizilerini satır satır böler.Elimizde bir paragraf olduğunu düşünürsek bu metot ile satır satır bölebiliriz.Parametresiz kullandığımızda satır sonuna herhangi bir ekleme yapmaz.Parametre olarak True verdiğimizde satır sonuna \n ekler. 

join()

Bu metot bölünmüş karakter dizilerini tekrar birleştirmemize yarar.split() metodu ile ters çalışır.split() metodunun bölünmüş karakter dizilerini listeye eklediğini belirtmiştik. join() metodu da parametre olarak elamanları karakter dizisi olan liste almaktadır.

",".join(["yazılım","hanem","python"])

Output:

'yazılım,hanem,python'

 upper()

Bu metot karakter dizilerini büyük harfe çevirmeye yarar.

degisken="merHaba"
print(degisken.upper())

Output:

MERHABA

 lower()

Bu metot ise upper() metodunun tersine karakter dizisini küçük harfe çevirir.

degisken="merHaba"
print(degisken.lower())

Output:

merhaba

capitalize()

Bu metot karakter dizilerinin ilk karakterini büyük harfe çevirir.Sadece ilk karaktere uygulanır.

degisken="yazılım Hanem"
print(degisken.capitalize())

Output:

Yazılım hanem

 title()

Bu metot capitalize() metodundan farklı olarak karakter dizisinde yer alan bütün kelimelerin ilk karakterini büyük harfe çevirir.
degisken="yazılım Hanem"
print(degisken.title())

Output:

Yazılım Hanem

 swapcase()

Bu metot karakter dizisi içerisinde yer alan küçük harfleri büyük harfe,büyük harfleri ise küçük harfe çevirir.

degisken="YaZılım HanEm"
print(degisken.swapcase())
Output:
yAzILIM hANeM

 strip()

Bu metot karakter dizisinin başında ve sonunda yer alan karakteri silmeye yarar.Eğer parametresiz kullanılırsa karakter dizisinin başında ve sonunda yer alan kaçış dizilerini siler.Bu kaçış dizileri aşağıda verilmiştir.
‘ ‘ boşluk karakteri
\t sekme (TAB)
\n satır başına geçiş
\r imleci aynı satırın başına döndüren kaçış dizisi
\v düşey sekme oluşturan kaçış dizisi
\f yeni bir sayfaya geçiren kaçış dizisi

Parametre verildiği durumda ise parametre olarak verilen karakteri veya karakter dizisini siler.

degisken=" merhaba "
print(degisken.strip())
kelime="yazılımhanemya"
print(kelime.strip("ya"))

Output:

merhaba
zılımhanem

 lstrip(),rstrip()

strip() metodundan farklı olarak karakter dizisinin solunda yer alan karakteri siler.rstrip() ise karakter dizisinin sağında yer alan karakteri siler.

degisken="yazılımhanemy"
print(degisken.lstrip("y"))
print(degisken.rstrip("y"))

Output:

azılımhanemy
yazılımhanem

partition(), rpartition()

Bu metotlar ise karakter dizilerini 3 parçaya bölmeye yarar.partition() metodu parametre olarak verilen karakter/karakter dizisinin ilk görüldüğü yerden bölme işlemi gerçekleştirirken rpartition ise en son görüldüğü yerden bölme işlemine başlar.

degisken="yazılımhanem"
print(degisken.partition("a"))
degisken="yazılımhanem"
print(degisken.rpartition("a"))

Output:

('y', 'a', 'zılımhanem')
('yazılımh', 'a', 'nem')
 Nitelik Sorgulayan Metotlar

 len()

 Bu metot bir karakter dizisinin uzunlugunu belirtir.
print(len("yazılımhanem"))

Output:

12

 istitle()

Bu metot bir karakter dizisinde yer alan kelimelerin büyük harfle başlayıp başlamadığını kontrol eder.True veya False değerlerini dönderir.

degisken="Ali Veli "
print(degisken.istitle())

Output:

True

 islower(),isupper()

Bu metotlar karakter dizilerini sorgulamamıza yarar.islower() metodu karakter dizilerinin tamamen küçük harf olup olmadığını,isupper() ise karakter dizilerinin tamamen büyük harf olup olmadığını kontrol eder.Eğer tamamen büyük harf yada küçük harf ise True,diğer durumlarda False değeri dönderir.

degisken='merhaba'
print(degisken.islower())
degisken2="DÜNYA"
print(degisken2.isupper())
kelime="yaZılım"
print(kelime.isupper())
print(kelime.islower())
Output:
True
True
False
False

 endswith()

Bu metot ile karakter dizilerinin parametre olarak verilen karakter/karakter dizisi ile bitip bitmediği kontrol edilir.Eğer bitiyorsa True,diğer durumda False dönderir.

degisken='merhaba'
print(degisken.endswith("a"))
print(degisken.endswith("l"))

Output:

True
False

 startswith()

Bu metot karakter dizisinin parametre olarak verilen karakter yada karakter dizisi ile başlayıp başlamadığını kontrol eder.Eğer parametre ile başlıyorsa True diğer durumda False dönderir.

degisken="yazılımhanem"
print(degisken.startswith("ya"))
print(degisken.startswith("l"))

Output:

True
False

 index()

Bu metot parametre olarak verilen karakterin indeksini bize belirtir.Üç tane parametre alır.Birinci parametre indeksi sorgulanacak karakter,ikinci parametre aramaya hangi indeksten başlanacağı,üçüncü parametre ise hangi aralığa kadar devam edeceğidir.Eğer aramanın başlayacağı başlangıç ve bitiş değerleri belirtilmezse 0. indeksten başlar son indekse kadar devam eder.Önemli bir nokta ise bu metot aranan karakteri görüldüğü ilk indeksi bize bildirir.Eğer aranan karakteri dizi içerisinde bulamazsa bizlere ValueError hatası verir.

degisken="yazılımhanem"
print(degisken.index("a"))
print(degisken.index("a",3,10))

Output:

1
8
 rindex()

Bu metot ise index() metodundan farklı olarak aramaya dizinin sağından başlamaktadır.Eğer aranan karakteri dizi içerisinde bulamazsa bizlere ValueError hatası verir.

degisken="yazılımhanem"
print(degisken.index("a"))
print(degisken.rindex("a"))

Output:

1
8

find(),rfind()

Bu metotlar index() ve rindex() metotları ile aynı işlemi görür.Tek farkları aranan karakterin bulunmadığı durumda hata değil -1 dönderir.Python Strings Metodlar

count()

Bu metot bir karakterin karakter dizisi içerisinde kaç defa geçtiğini bulmaya yarar.index() metodunda olduğu gibi ikinci ve üçüncü parametreleri aramaya yapılacak aralığı belirtir.

degisken="yazılımhanem"
print(degisken.count("a"))
print(degisken.count("a",5,9))

Output:

2
1

Python Strings Metodlar

Karakter dizileri ile ilgili değineceklerimiz şimdilik bu kadar.Bir sonraki yazımızda görüşmek dileğiyle.

 

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir