Path: blob/master/Temel Python Objeleri ve Veri Yapıları/Karakter Dizileri - Stringler.ipynb
765 views
Karakter Dizileri (Stringler)
Tekrardan Hoşgeldiniz ! Bu konuda stringleri öğrenmeye çalışacağız.Pythonda bir veri tipi olan Stringler veya Türkçe ismiyle karakter dizileri gerçek hayatta kullandığımız yazıların aynısıdır.Bu veri tipi aslında her biri bir karakter olan bir dizidir. Örnek olarak, "ali" stringi sırasıyla a,l,i harflerinden veya karakterlerden oluşmaktadır. Bu konuda stringleri ve stringlerin özelliklerini görmeye çalışacağız.
String Oluşturma
Python'da string oluşturmanın birçok yolu bulunmaktadir.Bunların hangisini kullanacağınız tamamıyla size bağlıdır.İsterseniz string oluşturma işlemlerini görmeye çalışalım.
Burada dikkat etmemiz gereken nokta, eğer bir çift tırnak ile oluşturacaksak, stringin oluşturulması bitirmeyi yine çift tırnak ile yapmalıyız.
File "<ipython-input-4-52c28270f133>", line 2
"Merhaba'
^
SyntaxError: EOL while scanning string literal
File "<ipython-input-5-688eb17d1742>", line 2
'Merhaba"
^
SyntaxError: EOL while scanning string literal
Peki şu şekilde bir stringi Pythonda nasıl tanımlarız: Murat'ın bugün dersi var.
File "<ipython-input-10-c94dae596bd7>", line 1
'Murat'ın bugün dersi var.
^
SyntaxError: invalid syntax
Gördüğümüz gibi kodumuz sıkıntı çıkarttı. Çünkü karşılaştığı ilk ' işaretini bitirme işareti olarak algıladı. Ancak şöyle bir kullanım sıkıntı yaratmayacaktır.
Şimdi de bir tane string veri tipinde değişken oluşturalım. Stringler de bir veri tipi oldukları için bunlardan değişken oluşturup kullanabiliriz.
String Indeksleme ve Parçalama
Stringler birer karakter dizileri oldukları için her bir karakterin aslında string içinde bir yeri vardır. Örnek olarak "ali" stringinde a,l ve i karakterlerinin yerleri indeks olarak adlandırılır.Pythonda ve genellikle çoğu programlama dilinde (Octave hariç) stringlerin indekslenmesi "0" dan başlamaktadır. Şimdi isterseniz bir string içindeki karakterlere indeks yoluyla nasıl ulaşacağımıza bakalım.
Pythonda stringler baştan olduğu gibi sondan da indekslenebilirler. Sondan başlayarak -1,-2 ... şeklinde indekslenirler
Peki uzun bir string'in sadece belirli bir kısmını elde etmek için ne yapacağız ? Bunun için indeksleri, : ve [] işaretini kullanacağız. Formülümüz şu şekilde ;
[başlama indeksi : bitiş indeksi : atlama değeri]
İsterseniz örneklerimize bakalım.
String Özellikleri
Bir string'in uzunluğunu nasıl buluruz ? Bunun için Python'da len() fonksiyonu bulunmaktadır.
Peki sizce bir string'in belli bir karakterini direkt olarak değiştirebilir miyiz ? Hemen bir deneme yapalım.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-38-87cff85377e0> in <module>()
1 # Biraz ilkokulluyum değil mi :) Ancak Python buna izin vermiyor Allahtan :)
----> 2 a[0] = 'T'
TypeError: 'str' object does not support item assignment
Burada Python bu işleme izin vermedi. Gördüğümüz gibi, bir string'in karakterlerini direkt olarak değiştiremiyoruz.Çünkü stringler böyle bir işlemi desteklemiyor.
Peki, Pythonda stringler toplanabiliyor mu ? Python'da bunu yapmak da mümkündür.
Bir string ile bir sayıyı da çarpabiliriz.
Stringler konusu şimdilik bu kadar ! İleriki konularımızda stringlerimize tekrardan döneceğiz ve güzel özelliklerine bakma imkanına sahip olacağız.