07.2. Katar metotları

String değişken tipi modern programlama dillerinin en popüler değişken türlerinden biridir. Tırnaklar arasında yazılmış değerleri bir dizi şeklinde saklar. Bu bölümde string üzerine yapılan temel işlemler ve string üzerinde kullanılan metotlar tanıtılacaktır.

7.2.1. katar güncelleme

Tekrar hatama yaparak katarınızı güncelleyebilirsiniz. Örneğin,

Örnekte farklı tırnakları nasıl kullanacağımızı görüyoruz. Tabii ki bir tanesi seçip o tırnağı kullanmalıyız. Tek tırnakla başlayıp çift tırnakla bitiremeyiz. 3. satırda :8 ile ilk 8 karakter alınır ve bunlara Python kelimesi eklenir.

7.2.2. Özel karakterler

Yazdıralamayan ancak işlevleri olan özel karakterlerin listesi aşağıdaki gibidir. Ters bölü işareti ile başlar ve bir veya birden fazla karakterle devam ederler. C programlama dilinde bunları görmüştünüz.

NotasyonHeksadesimalTanımı
\a0x07Alarm
\b0x08backspace, geri
\cxControl-x
\C-xControl-x
\e0x1bEscape, çıkış
\f0x0cFormfeed – form besleme, printer’larla alakalı
\M-\C-xMeta-Control-x
\n0x0aNewline – Yeni satır
\nnnOctal notasyon, n değerleri 0-7 aralığında
\r0x0dCarriage return – Satır başı
\s0x20Space – Boşluk
\t0x09Tab – Sekme
\v0x0bVertical tab – Dikey sekme
\xCharacter x – karakter x
\xnnHexadecimal notasyon, n değerleri 0-9 ve A-F aralığında

7.2.3. Özel katar operatörleri

Aşağıdaki tabloda örneklerde a içinde Merhaba b içinde Python tutulduğunu varsayalım.

OperatörTanımÖrnek
+Birleştirme – Operatörün her iki tarafındaki değerleri eklera + b : MerhabaPython
*Repetition – Aynı katarın birden çok kopyasını birleştirerek yeni katar oluşturura*2 : MerhabaMerhaba
[]Dilim – Verilen indeksten karakteri verira[1] : e
[ : ]Aralık Dilimi – Verilen aralıktaki karakterleri verira[1:4] : erh
inÜyelik – Verilen dizede bir karakter varsa true değerini döndürürh in a : true
not inÜyelik – Verilen dizede bir karakter yok ise true değerini döndürürx not in a : true
r/RSaf katar – Ek bir işlem uygulamadan aynen çıktıyı üretir. \n için yeni satır açtığını üst bölümde belirmiştik. Eğer kullanıcı \n yazı olarak görmek isterse bu özel karakteri kullanabilir.print(r’\n’) sadece \n yazar.

Basit bir örnek,

7.2.4. Katar şekillendirme operatörleri

C dilini bilenlerin çok aşina olduğu bir konu % operatörüdür. Basit bir örnekle konuyu hatırlayalım.

%s string için %d ise decimal bir sayı için kullanılmıştır. C’den farklı olarak % kullanılıp bir tuple içinde sonuçlar verilmiştir.

SembolDönüştürme
%ccharacter – karakter
%sstring – katar
%isigned decimal integer – işaretli tamsayı
%dsigned decimal integer – işaretli tamsayı
%uunsigned decimal integer – işaretsiz tamsayı
%ooctal integer – oktal tamsayı
%xhexadecimal integer (küçük harfler)
%Xhexadecimal integer (büyük harfler)
%eexponential notation (‘e’)
%Eexponential notation (‘E’)
%ffloating point real number – float sayı
%g%f and %e’nin kısası
%G%f and %E’nin kısası

Birde şekillendirmede kullanılan bazı karakterler vardır.

Sembolİşlevi
*argüman genişlik veya hassaslık belirtir
sola yaslama
+işareti göster
<sp>pozitif bir sayıdan önce boş bir alan bırakın
#Oktal veya hexadecimal gösterimde başına uygun sayıda 0 ekleme
0Sol kayma, 0’dan fazla.
%‘%%’ yerine sadece ‘%’ kullanma imkanı sunar.
(var)Sözlük argümanı
m.n.m minimum toplam genişliktir ve n ondalık noktadan sonra görüntülenecek basamak sayısıdır (eğer varsa)

7.2.5. Üçlü tırnak

Eğer bir string içinde enter tuşunu kullanıp alt satırlara gitmek istiyorsanız, üçlü tırnak buna imkan verir. Örneğin,

7.2.6. Katar metotları

Katarlar üzerinde işlem yapmak için Python birçok metoda sahiptir.

MetotTanım
capitalize()Katarın ilk harfini büyük harfe dönüştürür.
center(width, fillchar)Genişliğin tam ortasına yazıyı yerleştirir.
count(str, beg= 0,end=len(string))Katar içinde bir katarın kaç defa tekrarladığı hesaplar. Belli konumlar arası arama yapmak için seçimlik olarak beg (başlangıç) ve end(son) noktaları verilebilir.
decode(encoding=’UTF-8′,errors=’strict’)Kodlamayı kodlama için kaydedilen codec kullanarak çözer.
encode(encoding=’UTF-8′,errors=’strict’)Katarın kodlanmış katar sürümünü döndürür.
endswith(suffix, beg=0, end=len(string))Katarın ya da katarın bir alt dizgisi olup olmadığını belirler (eğer başlangıç endeksi başlarsa ve bitiş endeksi sonlanırsa) sonek ile sonlanır; aksi takdirde doğru ve yanlış ise döner.
expandtabs(tabsize=8)Sekme boyutunu ayarlar.
find(str, beg=0 end=len(string))Başlangıç katarından başlayıp son endekse katar arama yapar. Katar’ın aranan katarın index değerini döndürür.
index(str, beg=0, end=len(string))find metoduna benzer ancak str bulunamadıysa bir istisna oluşturur.
isalnum()Dizede en az 1 karakter varsa ve tüm karakterler sayısal veya harf ise True aksi takdirde False döndürür.
isalpha()En az bir karakter varsa ve tüm karakterler alfabetik ise True aksi takdirde False döndürür.
isdigit()Katar sadece rakam içeriyorsa True aksi takdirde False döndürür.
islower()En az bir karakter içeriyorsa ve tüm karakter küçük ise True aksi takdirde False döndürür.
isnumeric()Katar sadece sayısal karakterler içeriyorsa True aksi takdirde False döndürür.
isspace()Katar içinde bir boşluk var ise dahi True aksi takdirde False döndürür.
istitle()Katar düzgün şekilde ilk karakterleri büyük bir başlık ise True aksi takdirde False döndürür.
isupper()Tüm karakterler büyük ise True aksi takdirde False döndürür.
join(seq)Bir diziyi istenen bir ayraçla birleştirir.
len(string)Katarın boyutunu verir.
ljust(width[, fillchar])Belirtilen genişlikte sola yaslanmış halini döndürür.
lower()Tüm büyük harfleri küçük hale dönüştürür.
lstrip()Katarın solundaki tüm boşlukları temizler.
maketrans()Çeviri işlevinde kullanılacak bir çeviri tablosunu döndürür.
max(str)Katarda en çok geçen alfabe karakterini döndürür.
min(str)Katarda en az geçen alfabe karakterini döndürür.
replace(old, new [, max])Katar içinde arama yapar, eski değerleri yeni değeri ile değiştirir. Max kaç değişiklik yapacağı seçimlik max parametresinden ayarlanır.
rfind(str, beg=0,end=len(string))find komutu ile aynıdır, tek farkı terse doğru arama yapar.
rindex( str, beg=0, end=len(string))index metodu ile aynıdır, tek farkı terse doğru arama yapar.
rjust(width,[, fillchar])Belirtilen genişlikte katarı sağa yaslar.
rstrip()Katarın sağındaki tüm boşlukları temizler.
split(str=””, num=string.count(str))Belirtilen ayraca göre katarı alt katarlara böler ve bir liste oluşturur. num değeri seçimliktir ve kaç adet bölüm sonucunun alınacağını belirler.
splitlines( num=string.count(‘\n’))Satıra göre (\n) bölme işlemi yapar. İstenirse maksimum kaç satırın listede olması gerektiği num parametresinden ayarlanır.
startswith(str, beg=0,end=len(string))Katar veya katarın bir alt dizgisi olup olmadığını belirler (eğer başlangıç katarı (beg) başlarsa ve endeks (end) sonlandırılırsa), str için doğru ve yanlış ise döner.
strip([chars])Katarın hem sağından hem solunda boşluk veya istenmeyen karakterleri temizler.
swapcase()Büyük harfleri küçük, küçük harfleri büyük yapar.
title()Katar içindeki kelimelerin ilk harflerini büyük yapar.
translate(table, deletechars=””)Bir dönüşüm tablosuna bağlı olarak dönüşüm yapar, seçimlik olarak istenmeyen karakteri çıkarır.
upper()Tüm karakteri büyük harfe çevirir.
zfill (width)Katarı istenilen bir genişlikte ayarlarken, başına sıfır ekler.
isdecimal()Bir katarın tamsayı olup olmadığı kontrol eder. Eğer tam sayı ise True aksi takdirde False döndürür.

Çok fazla metot olduğu için sıklıkla kullandığım birkaçından örnek yapalım.