Şimdi, bu noktaya kadar, SDR'ın
Sıralı bir karakter dizisidir, değil mi?
Aslında isimlerimizi, şifrelerimizi, paragraflarımızı ve cümlelerimizi yazabileceğimiz bir metin parçasıdır
ve başlık altındaki dizeler, dediğim gibi, sıralı bir karakter dizisi olarak bellekte saklanır.
Örneğin, "ben, ben, ben" dizesi olsaydı.
Daha sonra bu bilgisayarımızın hafızasına bir düzen içinde kaydedilecek ve hafızada bir yerde saklanacaktır.
Ve o yerden sonra bir hafıza e depolanacaktır.
Ardından alan depolanacaktır.
Ve sonra m, sonra e, sonra ne.
Yani bir kitaplık düşünürseniz, bunların her biri kitaplığın farklı bir bölümünde, ancak birbiri
ardına sıralanır.
Bunu şöyle düşünebiliriz.
M sıfırıncı konumda saklanır ve sonra E birinci konumda saklanır ve sonra boşluk ikinci konumda saklanır
ve bu böyle devam eder.
Ve şimdi her raf karşılık geliyor.
Bir vadiye.
Böylece bilgisayara "Hey, bu dizeyi almanı istiyorum" dediğimizde, 0'dan 7'ye kadar
olan rafa bakacağımızı biliriz.
Şimdi, bu neden önemli?
Çünkü dizgilerle yapabileceğiniz en kullanışlı şeylerden biri, dizgi dediğimiz şeyi kullanarak bir dizginin
farklı bölümlerine erişmektir.
Örneğin, bir dizeniz olduğunda ve bu değişkene veya bu dize parçasına bencil diyelim.
Ve bencillik var.
Ben, ben.
Ben, ben, ben.
Ve bunu yorumlayacağım.
Aynen böyle.
Hizalandığından emin olun.
Tamam.
Ve burada yapacağım şey, bencil diyeceğim ve sonra tam buraya köşeli parantez koyacağım ve sonra sıfır
yazacağım.
Şimdi bunu yazdırırsam.
Ve Çalıştır'a tıklıyorum.
Şuna bir bak.
M harfini alıyorum.
Nedenmiş o?
Köşeli parantezleri kullanarak bilgisayara şunu söylüyorum.
Hey, değişkeni al.
Bencil.
Ve sonra bu değişkenden, indeksi sıfır olan her şeyi alın.
Peki o sıfır indeksli kitaplıkta ne var?
M harfi, ya yedi yaparsam?
Çalıştır'a tıklarsam ne olacağını düşünüyorsunuz?
E alıyorum çünkü yedi numaranın kitap rafında E var ve sadece bencil olduğumda tüm dizeyi
alıyorum.
Şöyle diyecek: Pekala, kitaplıktan sıfırdan yediye kadar olan indeksi alacağım.
Çok, çok havalı.
Ve bu kavramı kurs boyunca inceleyeceğiz ve çok yakında neden önemli olduğunu göreceksiniz.
Ancak bu bilgiyi kullanarak birçok dize manipülasyonu yapabiliriz.
Ve Python, şimdi bahsedeceğimiz, farklı metin parçalarını yakalamamıza olanak tanıyan benzersiz bir
özelliğe sahiptir.
Şimdi buraya bir göz atalım.
Buradaki kural, Python'da köşeli parantez kullandığımız zaman geçerlidir.
Köşeli parantezler arasına koyduğumuz ilk öğeye başlangıç diyoruz.
Başlangıç, Hey, nereye bakmamı istiyorsun?
Bizim durumumuzda, sıfıra bakmak istediğimizi söylemiştik.
Biz de girdik.
Yedi tanesine bakmak istedik.
Sekiz tane var.
Ama eğer bir şey yaparsak yapabileceğimiz ekstra bir şey daha var.
Colin burada.
Ayrıca "Hey, nerede duralım?" deme seçeneğimiz de var.
Bu ne anlama geliyor?
Eğer bir şey yaparsam ve biliyor musun?
Bunu şöyle değiştirelim.
01234567.
Daha kolay anlaşılsın diye.
Eğer yaparsam, sıfır diyelim.
Colin de.
Ve koş'a tıklıyorum.
Sıfırdan ve ikiden başlıyorum.
Yani sıfır alacağım.
İki bir.
Çünkü buradan başlayın dediğimi unutmayın, ama kitaplığa geldiğinizde de durun.
Bunu istemiyoruz.
0'dan 7'ye kadar yaparsam, sizce ne olur?
Çalıştır'a tıklıyorum.
Ve altıya kadar geldim.
Yani dizenin tamamını alabilmemiz için 0'dan 8'e kadar yapmamız gerekiyor çünkü burada aslında bir karakter var, değil
mi?
Çünkü sıfırdan başlıyoruz.
Çalıştır'a tıklarsam.
Al bakalım.
Şimdi buraya ekleyebileceğimiz üçüncü bir şey daha var ve buna step over deniyor.
Ve adım atma diyor ki, hey, buradan ve buradan başla ve sonra birkaç şeyin üzerinden geç.
Varsayılan değer birdir çünkü kitaplığımızda tek tek ilerliyoruz.
Tüm dizeyi aldığımızı görüyorsunuz.
Ama buraya iki eklersem, iki adım fazla atar.
Böylece sıfırı tutuyorum, sonra birin üzerinden geçip ikiyi tutuyorum, sonra üzerinden geçiyorum, birin üzerinden geçip dördü tutuyorum, üzerinden geçiyorum ve bu
böyle devam ediyor.
Bu yüzden size birkaç zor soru sormama izin verin.
Bunu yaparsam ne olur?
Bu geçerli mi?
Koş'a tıklarsam, olur.
Tahmin etmeye hazır mısın?
Bir, iki, üç, dört, beş, altı, yedi.
Bu diyor ki, hey, birden başla.
İşte tam burada.
Ama sonra, dur.
Orada bir şey yok.
Yani varsayılan olarak sonuna kadar git diyeceğiz.
Bunun kafa karıştırıcı olduğunu biliyorum, ama dayanın.
Bunu yeterince sık uygulayın ve bu ikinci doğa haline gelecektir.
Tamam.
Ya başlangıçta hissetmediğim böyle bir şey yaparsam ve burada beş yaparsam?
Şimdi ne olacak?
Hazır.
Beşe kadar sıfır bir, iki, üç, dört alıyorum.
Yani varsayılan sıfır olarak başlar ve beşe kadar gider.
Tamam.
Noktalı virgüllere böyle bir şey yaparsam ne olur?
Ve sonra Çalıştır'a tıklarsam bir tane.
Pekala, varsayılan davranışı alıyorum.
Çünkü hiçbir şey yokken sıfırdan başlıyor.
Hiçbir şey olmadığında dize ne zaman biterse o zaman biter.
Ve sonra bir kez üzerinden geçiyoruz.
Tamam.
Peki ya böyle bir şey yaparsak?
Ya burada eksi bir yaparsam?
Hmm?
Bu zor bir konu.
Ne olacak?
Hadi öğrenelim.
Python'da yedi tane alıyorum.
Negatif indeks, dizenin sonundan başla anlamına gelir, böylece eksi iki yaparsam.
Eksi üç yaparsam altı alırım.
Beş alıyorum çünkü geriye doğru gidiyorum.
Ve burada yapabileceğiniz güzel bir numara da noktalı virgül, noktalı virgül eksi bir yapmamızdır ve bu aslında oldukça yaygın
bir işlemdir.
Yani bunu ezberlemen gerekiyor.
Tuhaf görünse de başla, dur anlamına gelir.
Burada bir sınır yok.
Ama ben arkadan gelmek istiyorum.
Peki sizce burada ne olacak?
Çalıştır'a tıklarsam.
Dizenin tersini elde ettiğimizi görüyor musunuz?
Dolayısıyla, bir sıralamayı tersine çevirmek istediğinizde bu çok kullanışlı bir gösterimdir.
Ve diyelim ki iki atlamak istiyorsak, çalıştır'a tıklıyorum ve şimdi iki atladığımızı görüyorsunuz.
Şimdi.
Umarım tüm bu notasyonlar başınızı ağrıtmaz.
Sadece buna alışmanız gerekiyor.
Bu Python'a özgü bir şeydir, ancak çok ama çok kullanışlıdır.