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.
1 2 |
#Tek tırnak ile 'Mustafa Murat Coşkun' |
1 2 |
#Çift Tırnak ile "Mustafa Murat Coşkun" |
1 2 |
# 3 tırnak ile """Mustafa Murat Coşkun""" |
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.
1 2 |
# Hatalı Kod "Merhaba' |
1 2 3 4 |
File "<ipython-input-4-52c28270f133>", 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.
1 |
'Murat'ın bugün dersi var. |
1 2 3 4 |
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.
1 |
"Murat'ın bugün dersi var" |
Ş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.
1 2 |
a = "Merhaba" print(a) |
Çıktı: Merhaba
String Indeksleme ve Parçalama
1 2 3 4 5 6 7 8 9 10 11 12 |
# 0. elemana ulaşalım . Bunun için [] operatörünü kullanacağız. a = "ali" print(a[0]) print(a[1]) print(a[2]) """ Çıktı a l i """ |
Pythonda stringler baştan olduğu gibi sondan da indekslenebilirler. Sondan başlayarak -1,-2 … şeklinde indekslenirler.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# Sondaki eleman "-1" eleman a = "murat" print(a[-1]) print(a[-2]) print(a[-3]) print(a[-4]) print(a[-5]) """ Çıktı: t a r u m """ |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
a = "Python Programlama Dili" # 4. indeksten başla 10.indekse kadar(dahil değil) al. print(a[4:10]) # Başlangıç değeri belirtilmemişse en baştan başlayarak alır. print(a[:10]) # Bitiş değeri belirtilmemişse en sonuna kadar alır. print(a[4:]) # İki değer de belirtilmemişse tüm stringi al. print(a[:]) #Son karaktere kadar al. print(a[:-1]) # Baştan sona 2 değer atlaya atlaya stringi al. print(a[::2]) # 4.indeksten 12'nci indekse 3'er atlayarak stringi al. print(a[4:12:3]) # Baştan sona -1 atlayarak stringi al. (String'i ters çevirme) print(a[::-1]) """ Çıktı (Sırasıyla): on Pro Python Pro on Programlama Dili Python Programlama Dili Python Programlama Dil Pto rgalm ii oPg iliD amalmargorP nohtyP """ |
String Özellikleri
1 2 3 4 5 6 7 8 9 |
# len() fonksiyonunu kullanma. a = "Python Programlama Dili" print(len(a)) """ Çıktı: 23 """ |
Peki sizce bir string’in belli bir karakterini direkt olarak değiştirebilir miyiz ? Hemen bir deneme yapalım.
1 2 |
a = "Murat" a[0] = "T" |
1 2 3 4 5 6 7 |
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-38-87cff85377e0> in <module>() ----> 1 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# Stringleri toplayalım yani birbirine ekleyelim. a = "Python " b = "Programlama " c = "Dili" print(a + b + c) """ Çıktı Python Programlama Dili """ |
1 2 3 4 5 6 7 8 9 10 11 |
a = "Mustafa " a = a + "Murat Coşkun" # Burada stringleri birleştirerek yine a değişkenine atıyoruz. print(a) """ Çıktı: Mustafa Murat Coşkun """ |
Bir string ile bir sayıyı da çarpabiliriz.
1 2 3 4 5 6 7 8 9 |
# Python * 3 aslında Python + Python + Python işlemine eşdeğerdir. print("Python" * 3) """ Çıktı PythonPythonPython """ |
Stringler konusu şimdilik bu kadar ! İleriki konularımızda stringlerimize tekrardan döneceğiz ve güzel özelliklerine bakma imkanına sahip olacağız.