# Python3 -- stringlere müdahele etme

Kaynak: https://webodasi.com/python3-stringlere-mudahele-etme/
Yazar: Cihangir Gözübüyük
Yayın: 2020-06-29
Güncelleme: 2020-07-15

Merhaba arkadaşlar, bir önceki dersmizde[print fonksiyonundan](https://webodasi.com/python3-print-fonksiyonu/) bahsetmiştik. Bu dersimizde oluşturduğumuz stringlere müdahele edeceğiz, kesinlikle çok kolay bir işlem. Hadi başlayalım.

 

İlk olarak kendi stringimizi oluşturalım;

 

```
a = "Stringlere müdahele ediyorum"
```

 

evet burda kendi stringimizi oluşturduk peki nasıl müdahele edeceğiz?

 

Öncelikle şunu bilmemiz gerekir, string yapıları oluşturulduğunda her bir harfe bir  ***index***  atanır. İndex'i, her bir harfe karşılık gelen sayılar olarak açıklayabiliriz. Ve indexler herzaman  ***"0"***  dan başlar.

 

Burada, "Stringlere müdahele ediyorum" string'inde  ***"S"***  harfine karşı gelen index  ***"0"***  dır. Aynı şekilde devam ederken  ***"t"***  harfine karşı gelen index  ***"1"***  dir, bu stringin sonuna kadar böyle ilerler.

 

Şimdi string'imize müdahele edelim,

 

```
a = "Stringlere müdahele ediyorum"
```

 

ilk olarak  ***"S"***  harfini alarak başlayalım, peki nasıl alıyoruz?

 

```
print(a[0])
```

 

Burda ne yaptık?

 

yaptığımız şuydu,  ***print()***  fonksiyonu ile  ***"a"***  değişkenini ekrana bastırırken  ***"[ ]"***  (köşeli parantez) işareti ile pythona string'ten bir index/harf çekeceğimizi söyledik ve arasına "0" koyarak hangisini çekeceğimizi belirttik bu şekilde sonucumuz ;

 

***"S"***  harfi döndü.

 

Biz ilk baştaki harfi çektiğimiz gibi en sondaki harfi de çekebiliriz, peki bunu nasıl yaparız tek tek sayacakmıyız ? tabii ki hayır yukarda ne yaptıysak aynısını yapacağız ama bir farkla, o fark  ***"-"***  (eksi işareti) işte bu, örnekle anlatmaya devam edelim ve en sondaki harfi çekelim ;

 

```
print(a[-1])
```

 

ve sonuç ;

 

en son harf olan  ***"m"***  harfi döndü, peki "-2", "-3" yaparsak ne olur? aynı şekilde "m" harfinden önceki harfleri çeker örnek;

 

```
print(a[-2])
```

 

evet sonucumuz bu şekilde, ben belirli bir yerden başlayıp ordan sonuna kadar alsın yada yine belirttiğim yere kadar alsın istersem nasıl yaparım ?

 

mesela,

 

```
print(a[5:11])
```

 

burda şunu dedik  ***"5"*** . indexten başla  ***"11"*** . index'e kadar al, sonuç ;

 

ve sonucumuz istediğimi gibi geldi inanmayan saysın :)

 

şimdi istediğimiz yerden başlatıp sonuna kadar alalım,

 

```
print(a[3:])
```

 

string'lere müdahale işlemi bu kadardı, peki ben oluşturduğum string'in içinde kaç harf/index var diye merak edersem bunu nasıl öğrenebilirim bunu da tek tek saymayız değilmi ? kesinlikle öyle, bunun için geliştirilmiş bir fonksiyon var, adı  ***"len( )"*** kullanımı çok basit örnek ;

 

```
print(len(a))
```

 

Görüyoruz ki string'imizde 26 harf/25 index var neden sonuç 28 geldi?

 

çünkü tanımlanan string'te araya koyduğumuz boşluklar da birer index değeri alıyor o yüzden sonucumuz 28 döndü.
