String işlemleri ve len() fonksiyonu yazısından selam sana ziyaretçi! :)

Hatırlarsan sana daha önce Değişkenleri ve Veri tiplerini anlatmıştım. Bu yazımda String'ler üzerinde biraz oyun oynayacağız. 

IDLE aracımızı başlat ve alt satıra geç ziyaretçi! :)

Hızlı bir tekrar yapalım. String oluşturmak için aşağıdaki komutu kullanıyorduk.
q = 'Bu bir değişken'

Değişkeni ise print() ile yazdırıyorduk.
print (q)
Çıktıyı bildiğin için paylaşmıyorum ;) Bu şekilde q değişkenimizin tüm karakterlerini yazdırmış olduk. Şimdi bir kaç harfini yazdıracağız.

Değişkenimizin ilk harfini yazdırmak için: parantez içinde köşeli parantez kullanacağız ve harfin cümledeki kaçıncı sırada olduğunu yazacağız.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> q = 'Bu bir değişken'
>>> print (q[1])
u
>>> 
[1] yazdık ve u çıktısını aldık, birinci harfi B değil miydi? Senin, birinci sandığın harf aslında 2'nci. Doğal sayılar 0'dan başlar ;) İlk harfi almak için 0 yazmalıyız.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> q = 'Bu bir değişken'
>>> print (q[0])
B
>>> 
Şimdi anladın mı; Python derslerine neden 0'dan başladım? ;)  4. karakteri almak için kaç yazmalıyız? Evet 3?!

Her zaman belirtmek istediğin satırın bir öncesi, şeklinde aklında tutabilirsin.


Hadi en sonraki harfi yazdıralım! [14] şeklinde yapabiliriz. Ama buna gerek yok. (-) eklemek yeterli :) Şimdi bir ayrıntıyı kaçırmamaya dikkat et!
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> q = 'Bu bir değişken'
>>> print (q[-1])
n
>>> 
En son harf n harfi, ve ben [-1] yaptım, oysa az önce ilk satır için 0 demiştim. Evet ilk satır için 0; tersten yazdırmak istediğimizde 0'dan başlamıyoruz, sayma sayılarından, yani 1'den başlıyoruz.


Belirli aralıklardaki karakterleri yazdıralım.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> q = 'Bu bir değişken'
>>> print (q[0:6])
Bu bir
>>> 
0, en baş anlamına gelir. En baştan başlayarak 6. karakterde dahil ekrana yazdırdık.

Daha kısa bir yolu var. (q[:6]) dediğimizde; en baştan 6. karaktere kadar yazdır, anlamına gelir.
6'yı alıp iki noktanın sol tarafına eklediğimizde, yani; (q[6:]) şeklinde çalıştırdığımızda, 6. karakterden sonrakileri yazdır anlamına gelir. Unutma, boşluklarda bir karakterdir!



len() fonksiyonu ile bir String'in kaç karakterden oluştuğunu ekrana yazabiliriz.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> q = 'Bu bir değişken'
>>> len(q)
15
>>> print (len(q))
15
>>> x = len(q)
>>> print (x)
15
>>>
Satır satır bu komutları yorumlayalım.
  • İlk satırda q String'ini tanımladım.
  • İkinci satırda, len() fonksiyonu ile, q değişkenin karakter sayısını yazdırdım.
  • Üçüncü satırda, print() içinde len() fonksiyonu çalıştırdım. 
  • Dördüncü satırda, x değişkenine len(q) sonucunu atadım.
  • Beşinci satırda, x değişkenini yazdırdım. 

Hemen hemen hiç bir sitede değinilmeyen bir konuda bahsedeceğim şimdi.
String içindeki verileri silmeden, üzerine nasıl veri ekleyebiliriz? sorusunu cevaplıyorum :)

a ve b adından 2 yeni değişken belirleyelim.
a = 5
b = 'ne güzel bir beste'
Bunun hangisi integer? :) evet a değişkeni bir integer'dir.

Örnek üzerinde anlatacağım zira nasıl anlatmasını bilen bir öğretmenim! ;)
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> a = 5
>>> a += 5
>>> a
10
>>> a -= 3
>>> a
7
>>> a *= 7
>>> a
49
>>> a /= 8
>>> a
6.125
>>> a **= 4
>>> a
1407.422119140625
>>> 
Açıklamalarımı okumadan önce tahmin etmeye çalış! (=) operatörünün soluna işlem işaretlerini ekledim, hadi ama tahmin edebilirsin :)
  • İlk satırda a değişkenine 5 değerini atadım.
  • İkinci satırda (+=) operatörü ile a değişkenine 5 ekledim. 
  • Üçüncü satırda a değişkenini yazdırdım. a+5=10 sonucunu aldım.
  • Dördüncü satırda a değişkeninden 3 çıkardım. Bunu (-=) ile yaptım.
  • Beşinci satırda a değişkenini yazdırdım. a += 5 işleminden dolayı a değişkeni 10 değerini almıştı.
  • Altıncı satırda a değişkenini 7 ile çarptım. 
  • Yedinci satırda sonucu 49 olarak aldım. Önceki işlemde a değişkeninden 3 çıkartılmıştı ve sonuç 7'ydi.
  • Sekizinci satırda 49 değerine sahip a değişkenini (/=) işlemi ile 8'e böldüm.
  • Dokuzuncu satırda a /= 8 yani; 49/8 işleminin sonucunu ekrana yazdırdım.
  • Onuncu satırda a değişkenini ekrana yazdırdım. Bu işlemin kalanını python terminalinde ekrana yazdırabilir misin? Yazdıramaz isen Python Matematiksel işlemler yazısını tekrar oku!
  • On birinci satırda a değişkenini 4 üzeri ile çarptım.
  • On ikinci satırda a**4 işleminin sonucunu yazdırdım.

Şimdi sıra b değişkeninde! Bu o kadar uzun değil ama ;)
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> a = 'Ne güzel bir beste'
>>> print (a)
Ne güzel bir beste
>>> a += '\nKim besteledi acaba?'
>>> print (a)
Ne güzel bir beste
Kim besteledi acaba?
>>> a = a[:8]
>>> print (a)
Ne güzel
>>> 
Bu kullandığımız işaretlere operatör deniyor. Yeri geldikçe hepsini öğreneceğiz. Açıklamaya geçmeden önce lütfen anlamaya çalış! Önemli olan mantığını kavramak.
  • Birinci satırda a değişkenine 'Ne güzel bir beste' değerini atadım.
  • İkinci satırda a değişkenini yazdırdım.
  • Üçüncü satırda a değişkenine '\nKim besteledi acaba?' değerini, a değişkenin üzerine ekledim. Yazmadım, ekledim ;) Başındaki kaçış dizisi dikkatini çekti mi?
  • Dördüncü satırda a değişkenini yazdırdım. \n dizisi eklediğim için satır başı yaptı.
  • Beşinci satırda a değişkeninin, yalnızca ilk 8 karakterini, a değişkeninin üzerine yazdım.
  • Altıncı satırda a değişkenini ekrana yazdırdım.


Öğrendiğini tekrar etmezsen, unutursun. Unutursan öğrendiğini, kaybedersin.
Sonraki yazıda görüşmek üzere! Geribildirimde bulun lütfen! HackerAdana@Protonmail.com