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.

Notasyon Heksadesimal Tanımı
\a 0x07 Alarm
\b 0x08 backspace, geri
\cx Control-x
\C-x Control-x
\e 0x1b Escape, çıkış
\f 0x0c Formfeed – form besleme, printer’larla alakalı
\M-\C-x Meta-Control-x
\n 0x0a Newline – Yeni satır
\nnn Octal notasyon, n değerleri 0-7 aralığında
\r 0x0d Carriage return – Satır başı
\s 0x20 Space – Boşluk
\t 0x09 Tab – Sekme
\v 0x0b Vertical tab – Dikey sekme
\x Character x – karakter x
\xnn Hexadecimal 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ör Tanım Örnek
+ Birleştirme – Operatörün her iki tarafındaki değerleri ekler a + b : MerhabaPython
* Repetition – Aynı katarın birden çok kopyasını birleştirerek yeni katar oluşturur a*2 : MerhabaMerhaba
[] Dilim – Verilen indeksten karakteri verir a[1] : e
[ : ] Aralık Dilimi – Verilen aralıktaki karakterleri verir a[1:4] : erh
in Üyelik – Verilen dizede bir karakter varsa true değerini döndürür h in a : true
not in Üyelik – Verilen dizede bir karakter yok ise true değerini döndürür x not in a : true
r/R Saf 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.

Sembol Dönüştürme
%c character – karakter
%s string – katar
%i signed decimal integer – işaretli tamsayı
%d signed decimal integer – işaretli tamsayı
%u unsigned decimal integer – işaretsiz tamsayı
%o octal integer – oktal tamsayı
%x hexadecimal integer (küçük harfler)
%X hexadecimal integer (büyük harfler)
%e exponential notation (‘e’)
%E exponential notation (‘E’)
%f floating 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
0 Sol 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.

Metot Tanı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.