STRİNG (KARAKTER) İŞLEMLERİ Python'da karakter dizilerini ifade etmek için yapmamız gereken tek şey, ifademizi tırnak ("") içinde belirtmektir. Python'da tırnak içerisinde belirtilen her şey karakter dizisi olarak kabul edilir. >>>"Python" 'Python' Şimdi bu ifadenin türünü öğrenmek için type fonksiyonumuzu kullanalım. >>>type("Python") type 'str' Gördüğümüz gibi tırnak içerisinde belirttiğimiz "Python" ifadesinin türü str yani stringtir. Tırnak içerisinde yazdığımız her ifade string olarak tanımlanır dedik. Bunu şöyle bir örnekle daha iyi kavrayabiliriz. >>>a=5 >>>type(a) type 'int' Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur? >>>a="5" >>>type(a) type 'str' a değişkenine atadığımız değeri tırnak içerisinde gönderdiğimiz için type'ı str yani string'tir. Buradan da anlaşılacağı üzere Python'da tırnak içerisinde girilen her değer string'tir. Aynı ifadeyi şöyle de yazabilirdik. >>>a=5 >>>type("a") type 'str' Burada da type fonksiyonunun içinde a değişkenini string olarak çağırmış olduk. Yazdığımız stringleri ekrana çıkartmak için çok alışkın olduğumuz "print" komutunu kullanacağız. >>>print "Pyhton Dersleri" Pyhton Dersleri Burada derleyici iki iş yapıyor. Birincisi tırnak içerisinde yazılan stringi okuyor. İkincisi "print" fonksiyonuyla okuduğu string'i ekrana yazdırıyor.Biz bu string'i >>>"Pyhton Dersleri" 'Pyhton Dersleri' şeklinde yazdığımızda da görebiliyoruz ancak derleyici burda sadece string'i okuma işlemini yapıyor ekrana yazdırmıyor. İlerde kodlarımızı bir dosyaya kaydedip çalıştırdığımızda yukarıdaki kodun ekrana hiçbir şey yazdırmadığını göreceksiniz. Karakter dizilerini kullanırken dikkat etmeniz gereken en önemli nokta tırnak işareti kullanımıdır. Stringimizi yazarken ister çift tırnak(""), ister tek tırnak(''), istersek üç tırnak("""""") kullanabiliriz. Hangi tırnak işaretini kullandığımızın çok da bir önemi yoktur. Önemli olan başladığımız tırnak işaretini aynı şekilde kapatmamızdır. >>>print "Python'da karakter dizileri (string) çalışıyoruz." Python'da karakter dizileri (string) çalışıyoruz. Burada çift tırnak kullandığımızda yazdığımız string ifadesi hata vermeden çalıştı. Peki bunu tek tırnakla yazarsak >>>print 'Pyhton'da karakter dizileri (string) çalışıyoruz.' File "", line 1 print 'Pyhton'da karakter dizileri (string) çalışıyoruz.' ^ SyntaxError: invalid syntax şeklinde bir hata ile karşılaşırız. Bunun sebebi "Pyhton'da" ifadesindeki tek tırnak işaretinden kaynaklanıyor. Derleyici burada kullandığımız tek tırnağı başlangıçta açtığımız tırnağın kapanışı olarak düşündüğünden, ifadenin devamını okumakta sorun yaşar ve hata verir. Bunu ortadan kaldırmak için çift tırnak kullanabileceğimiz gibi >>>print 'Pyhton\'da karakter dizileri (string) çalışıyoruz.' Pyhton'da karakter dizileri (string) çalışıyoruz. "\" işaretini de kullanabiliriz. Eğer ekrana yazdırmak istediğimiz ifade " (tırnak) içeriyorsa, tırnak işaretinin önüne "\" sembolü konularak tırnak işaretini ekrana yazdırabiliriz. Üç tırnak kullanımı ise biraz daha özel durumlar içindir. >>>print """Python'da "karakter dizileri" (string) çalışıyoruz.""" Python'da "karakter dizileri" (string) çalışıyoruz. Bu örnekte gördüğümüz gibi üç tırnak içinde hem "Pyhthon'da" ifadesinde yer alan tek tırnağı hem de "karakter dizileri" ifadesinde yer alan çift tırnağı ekrana çıkartmış olduk. Üç tırnağın bir diğer avantajı ise alt alta yazmak istediğimiz ifadeleri rahatlıkla yazabilmemizdir. >>>print """ ...Python Konuları ...1)listeler ...2)demetler ...3)fonksiyonlar ...4)karakter dizileri(string) ...""" Bu örneğimizde üç tırnaktan sonra gelen üç nokta (...) Python'ın bizden komut girmemize devam etmemiz gerektiğini ifade ediyor. Bu örneğimizin ekran çıktısı ise; Python Konuları 1)listeler 2)demetler 3)fonksiyonlar 4)karakter dizileri(string) şeklinde olur. Tabii üç tırnakta yaptığımız bu tarz bir listeleme şeklini çift veya tek tırnak ile yapamayız. KARAKTER DİZİLERİNİ BİRLEŞTİRMEK Python'da karakter dizilerini birleştirmek için sıkça kullandığımız yöntemlerden birisi "+" işaretidir.Bu konuya bir örnek ile açıklık getirelim: >>>ad = "Ali" >>>soyad = "Soy" >>> ad + soyad AliSoy Gördüğümüz gibi ad isimli karakter dizisine soyad isimli karakter dizisini de ekledik. Karakter dizilerinin arasında boşluk bırakmak istersek eğer ; >>>ad = "Ali" >>>soyad = "Soy" >>>bosluk = " " >>>print (ad + bosluk + soyad) Ali Soy aynı yöntemle boşluk ekleyebiliriz. Daha önceki yazılarda öğrendiğiniz fonksiyonlardan yararlanarak şöyle bir örnek yapabiliriz. Karakter dizilerini birbirine eklerken kullandığımız diğer bir yöntem ise "," işaretidir. >>>ad = "Ali" >>>soyad = "Soy" >>>print (ad,soyad) Ali Soy Burada karakter dizilerinin arasında otomatik olarak bir boşluk bırakıyor. Bu "," işaretinin bir özelliğidir. Eğer boşluk karakterini kendimiz eklemek istersek "," işaretini kullanacağız. Karakter dizileri hakkında bilmemiz gereken şeylerden biri de değiştirilemez olmalarıdır. Listeler konusundan da hatırlayacağımız gibi oluşturduğumuz bir listeye yeni bir eleman ekleyebiliyorduk veya eleman çıkarabiliyorduk. Ancak böyle bir şeyi karakter dizilerinde yapamayız. Örneğin; >>>a = "Ali" >>>a + "Soy" >>>print a Ali Ekran çıktımız karakter dizisinin ilk hali olarak çıktı. Buradan da anlayacağımız gibi bir karakter dizisine yeni bir eleman ekleyeceksek o elemanı diziye atamalıyız. >>>a = "li" >>>a += "Soy" >>>print a AliSoy KARAKTER DİZİLERİNİ DİLİMLEMEK Bazen karakter dizilerini dilimleyerek kullanmak zorunda kalabiliriz. Bunun için yapmamız gereken işlem karakter dizisinde dilimlenecek kısmı işaret etmek. Basit bir örnek verirsek: >>>a = "Python" >>>print a[0] >>>print a[2] >>>print a[-1] >>>print a[-3] P t h n Karakter dizilerini dilimleme yöntemini listeleri dilimlerken de kullanabiliriz. >>>liste = *"Python","çalışıyor","ve","öğreniyoruz"+ >>>print liste[1] >>>print liste[-1] >>>print liste[0] >>>print liste[3] çalışıyor öğreniyoruz Python öğreniyoruz Bu yöntemi kullanarak karakter dizilerine baştan ve sondan olmak üzere sınırlama getirerek bölebiliriz. >>>a = "Python" >>>print a[1:4] yth Eğer karakter dizisini baştan başlayıp belli bir kısma kadar bölmek istersek; >>>a = "Python" >>>print a[0:4] Pyth yazabiliriz. Veya sıfırı hiç koymayız. >>>a = "Python" >>>print a[:4] Pyth En baştan dilimlemeye başlayacağını sıfır yazarak veya o kısmı boş bırakarak ifade edebiliriz. Aynı şekilde karakter dizisini baştan belli bir yerden başlayıp sonuna kadar yazabiliriz. >>>a = "Python" >>>print a[2:] thon Gördüğümüz gibi baştan sınırladığımız yerden başlayıp karakter dizisinin sonuna kadar yazdırmaya devam etti. Daha farklı bir örnekle devam etmemiz gerekirse; >>>a = "Python öğreniyoruz." >>>print a[2:10:2] to g Bu örnekte yaptığımız şey ise karakter dizisinin ikinci elemanından başlayıp onuncu elemanına kadar ikişer ikişer atlayarak yazdırmak. >>>a = "Python öğreniyoruz." >>>print a[::3] Ph rir. Bu örnekte de karakter dizisinin başından sonuna kadar üçer üçer atlayarak yazdırdık. Bunu şöyle de yazdırabiliriz. >>>a = "Python öğreniyoruz." >>>print a[0:len(a):3] Ph rir. Buradaki len bildiğiniz gibi tüm karakter dizisinin başından sınırlanan kısım ile sonuna kadar olan yeri ifade ediyor. Eğer yazdığımız karakter dizisini tersten yazmak istersek bunu da dilimleme yöntemi ile yapabiliriz. >>>a = "Python öğreniyoruz." >>>print a[::-1] .zuroyinerğö nohtyP Örnekler: >>> ilk="python" >>> son="programı" >>> ilk+son 'pythonprogramı' >>> "bu"+"gün"+"hava"+"güzel" 'bugünhavagüzel' >>> ilk="python" >>> ilk+ilk+ilk 'pythonpythonpython' >>> ilk*3 'pythonpythonpython' >>> print("Akhisar","myo") Akhisar myo >>> print("Akhisar"+"myo") Akhisarmyo >>> print("python",3) python 3 #string ile integer çarpımı