Odak modu
indexing
deniyor. Bunu köşeli parantez []
ile sağlayacağız.isim
diye bir değişken oluşturup, string'e eşitleyip, ilk elemanına(karakterine) erişelim.isim = "Deniz"
isim[1]
'e'
"Deniz"[1]
'e'
0
dan başlıyor. Yani biz ilk elemana ulaşmak istiyorsak [0]
ile sorgulamamız lazım.isim[0]
'D'
[1]
isim[1]
'e'
"Deniz"[0]
'D'
"Deniz"[1]
'e'
[-1]
yazabiliriz.isim[-1]
'z'
[-2]
isim[-2]
'i'
Deniz
5 karakterden oluşuyor. Indexleri 0,1,2,3,4. Eğer ben 4 ten büyük bir index verirsem o indexte bir elemanı olmadığı için hata alırım.len(isim)
5
isim[4]
'z'
isim[5]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-13-f0339b205fca> in <module>
----> 1 isim[5]
IndexError: string index out of range
isim[10]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-15-f25549abd903> in <module>
----> 1 isim[10]
IndexError: string index out of range
isim
'Deniz'
isim[0] = "b"
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-17-59044b134158> in <module>
----> 1 isim[0] = "b"
TypeError: 'str' object does not support item assignment
isim
'Deniz'
# Burada önemli olan nokta ilk belirtilen indexing dahil edilip son olarak yazılanın dahil edilmemesi
# 0,1,2 indexlerindekileri döndürdü sonuç olarak
isim[0:3]
'Den'
başlangıç:bitiş
olarak veriyoruz ve bitiş olarak verdiğimiz index dahil olmuyor. Başlangıcı belirtmezsek Python default olarak başlangıç değerini 0 alıyor.isim[:3]
'Den'
isim[1:]
'eniz'
isim[0:]
'Deniz'
isim[:]
'Deniz'
len(isim)
5
isim[1:20]
'eniz'
isim[1:200]
'eniz'
isim[1:]
'eniz'
başlangıç:bitiş
olarak slicing yapabileceğimiz gibi, başlangıç:bitiş:adım
formunda da slicing yapabiliriz. Burada adım
parametresi kaçar kaçar gideceğimizi belirler.isim
'Deniz'
isim[0:10:2]
'Dnz'
isim[0:10:3]
'Di'
# 0. indexten 10. indexe 2 azalarak gidemez, o yüzden boş string döndürür
isim[0:10:-1]
''
isim[10:0:-1]
'zine'
isim[::-1]
'zineD'
isim[::-2]
'znD'
Sıfırdan yazılıma hızlı bir başlangıç için özel programlarımız
Yazılım öğrenme yolculuğunda daha fazla eğitime, projeye ve mentor desteğine mi ihtiyacın var? Patika+'ın 4-8 aylık yoğun kamplarına katıl, proje tabanlı canlı dersler ve sana özel hazırlanmış eğitimlerle gereken tüm yetenekleri kazan, iş hayatına başla!
Yorum yapabilmek için derse kayıt olmalısın!