Python’da String (str) veri yapıları

0
846

10-11

String’lerde listelerde ve demetlerde gördüğümüz dilimleme operasyonlarının tamamını string veri yapılarında da kullanabiriz. String sınıfı inmutable bir sınıftır. Bir karakter ya da bir yazı bir yazının içinde var mı sorusuna cevap vermek için in ve not in operatörleri stringlerde de çalışmaktadır.

Yan yana iki string hiç bir operatör yoksa birleştirilir. s=‘ali’ ‘,’ ‘’’veli’’’ yazdığınızda ve s’i print ile ekrana yazdırdığınızda hiç bir operatör kullanmadan ali,veli yazdığını görebilirsiniz.

STR sınıfının önemli methodları

s=“gizem öztürk”

  • k=s.capitilize() methodu ile ‘k’ nesnesinde ”Gizem öztürk” str nesnesi oluşacaktır.
  • k=s.center(50) methodu bir yazıyı sağ ve soldan boşluk bırakarak 50’lik bir alan içinde tam oraya yerleştirir. Bir nevi başlık vs gibi şeylerde kullanılır. Eğer ikinci bir parametre olarak bir karakter girerseniz, örn ‘x’ yazının iki tarafını verdiğiniz karakter ile doldurur.
  • k=s.title() methodu, bir yazının ilk ve son harfini büyük yapar.
  • k=s.find(’hava’) methodu hava kelimesi eğer bir yazının içinde varsa bize bulduğu yerin index numarasını verir, eğer bulamazsa -1 ‘e geri döner. Aynı şekilde s.index(’hava’) gibi bir method var bu method eğer bulursa index’i döner fakat bulamazsa hata döndürür. Eğer hava kelimesini son bulduğu yerin indexini istiyorsak s.rfind(’hava’) son bulduğu indexini bulur. Aynı şekilde index methodu içinde s.rindex(’hava’) methodu vardır ve bulamazsa hata döndürür.
  • k=s.count(‘a’) örneğin ‘ankara’ string’i içinde kaç tane a karakteri geçtiğini bulur.
  • s[0].isupper(), s[0].islower, s[0].isspace() gibi büyük harf mi küçük harf’mi boşluk karakteri mi gibi kontrol etmek için kullanılan fonksiyonları vardır.
  • ‘KkK’.join(iterablestring) içerisine string nesneler içeren dolaşılabilir bir nesne verdiğimizde, dolaştığı string nesnelerini KkK ile birleştirir. Örneğin çıktı AliKkKVeliKkKSelamiKkK gibi olacaktır. ‘,’.join(’mugla’) çıktısı ise m,u,g,l,a olacaktır.
  • k=names.split(’,’), names=‘Ali, Veli, Selam, Necati’ gibi bir yazıyı ‘,’ lerden ayırabiliriz. Bu tür şeyler CSV formatındaki verilerde, verileri ’,’ den ayırmak için kullabilirsiniz. Split eğer argumansız kullanırsanız burada boşluk karakterlerinden yazıyı ayırır.
  • s= “aliveliselami”, k=s.partition(’veli’) yazdığınızda bize üçlü bir demet verir, üçlü demetin ilk elemanı velinin sol tarafı, ikincisisi partition için verdiğiniz demetin kendisi, demetin üçüncüsü de ’veli’ den geriye kalanlardır. Eğer olmayan bir değer verirseniz, ilk demete yazının tamamını, geriye kalanlara boş iki str verecektir.
  • s.replace(“ ali ”, ” veli ”) yazı içindeki bütün ali karakterlerini veli olarak değiştirecektir.
  • s.startswith(”_”), s.endswith(”_“) bu methodlar bool değer döndürür.
  • sting nesneleri + operatörü ile toplanabilir, * operatörü ile bir tam sayı kullanılarak çoğaltılabilir.
  • s.upper(), s.lower() yazıların hepsi büyük harf ya da hepsi küçük harf olacak şekilde çalışır.
  • s.strip() – bir yazının başındaki ve sonundaki boşluk karakterleri atmak için kullanılıyor. Aradaki boşlukları atmaz. Bir yazının başındaki boşluk karakterlerine leading and trailing space diyorlar. Tek parametreli kullandığınızda kullandığınız paremetredeki karakteri baştan ve sondan ilecek şekilde siler. eğer ki parametre ile kullanılırsa örn: s.strip(xy) şeklinde olduğunda yazıdaki hem x hem de y’leri siler.
  • String’lerde karşılaştırma operatörleri kullanılabilir, burada unicode karakter tablosu kullanıldığını unutmamak gerekir. Büyük harf ve küçük harf birbirinden farklı sonuç çıkaracaktır.
  • s.format() formatlı yazı yazdırmak üzere kullanılıyor, örn: a=10, b=20 ise, s=‘ a={}, b={}’ gibi bir yazı içerine s.format(a,b) verdiğinizde çıktı olarak yeni bir yazı vermekte ve a=10, b=20 gibi bir çıktı oluşmaktadır. Bunun daha yaygın kullanımı ise s=‘a={}, b={}‘.format(a,b) ya da s=‘a={0}, b={1}‘.format(a,b) şeklindedir.
  • 3.6 versiyonu ile python’a string enterpolayonu eklendi. String enterpolayonu s=f’a={a}, b={bxb <herhangi bir ifade yazılabilir>)}’ print(f’a= {a}, b={b}’) şekinde de kullanılabilir.

Yazımı bitiriyorum, Yımaz özakpınar, hafıza ile ilgili kitabı okumanızı öneririm, sorularınız için yorum kısmını kullanabilirsiniz.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz