akıllı tahta etkinlikleri,soru bankası,deneme sınavı,yazılı sınav,konu anlatım,eğitim programları,yıllık planlar,ilk okuma yazma

karakter dizileri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
karakter dizileri etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Karakter Dizilerinin Metodları 12



#-*- coding:utf-8 -*-
"""
Bu gün karakter dizilerinin metodlarında count() metoduna göz atalım. count()
ingilizce de saymak anlamına gelir. Tahmin ettiğiniz gibi count() bir şeyleri
saymak için kullanılır. Karakter dizilerinin içinde geçen bir karakterin kaç
kez geçtiğini sayar. Hemen bir örnek yapalım:"""

kardiz = "Merhaba Dünya"

print(kardiz.count("a")) # a harfi kaç defa geçiyor? Ekran çıtımız '3' olur.

#şimdi daha zor bir örnek yapalım. Uzun bir metin alalım. istediğimiz bir
#harfi ya da kelimeyi saydıralım. www.istihza.com

metin = """Tıpkı daha önce öğrendiğimiz sorgulayıcı metotlar gibi, count()
metodu da bir karakter dizisi üzerinde herhangi bir değişiklik yapmamızı sağlamaz.
Bu metodun görevi bir karakter dizisi içinde belli bir karakterin kaç kez geçtiğini
sorgulamaktır. Bununla ilgili hemen bir örnek verelim:"""

print("a harfi {} defa geçiyor. ".format(metin.count("a")))

# a harfi 21 defa geçiyor. çıktısını verir.

print("b harfi {} defa geçiyor.".format(metin.count("b")))

#şimdi bir kelime aratalım

print("bir kelimesi {} defa geçiyor".format(metin.count("bir")))

#################################################################################
"""count() metodunun iki farklı  kullanım şekli daha vardır. Bunlardan bir tanesi
count("a",4) >>> anlamı saymaya 4. karakterden başla. Örnek yapalım"""

kardiz = "Merhaba Dünya"
print(kardiz.count("a",7))
#ekrana iki çıktısnı verir. Çünkü biz saymaya 7.karakterden başladık.
#Python saymaya sıfırdan başlar. Aklımızdan bunu çıkarmayalım.

###################################################################################
"""Bir diğer kullanım şeklide count("a",4,7) şeklindedir. Yani 4. karakterden aramaya
başla 7. karaktere kadar aramaya devam et. şimdi bununla ilgili bir örnek yapalım. """

kardiz = "Merhaba Dünya"

print(kardiz.count("a",6,9)) #6. karakterden başla 9. karaktere kadar aramaya devam et

#Pekiştirmek için örneklar yapabilirsiniz. 

Karakter Dizilerinin Metodları 11



#-*- coding:utf-8 -*-
"""Bu gün karakter dizilerinin metodlarında join() metoduna bir göz atalım.
join kelime anlamı itibariyle katılmak, eklemek gibi anlamlara gelir. split
metodu ile parçaladığımız karakter metodlarını birleştirmek için kullanırız.
Bir örnek ile gösterelim:
"""

kardiz = "elma,armut,ayva,kavun,karpuz"
#şimdi karakter dizimizi split ile kelimelerine ayıralım ve yeni bir değişkene atayalım
ayrılmış_kardiz = kardiz.split(",")
#şimdi kelimelerin arasına '-->' koyarak birleştirelim.
birleştirme_karakteri = "-->"
birleşik_kardiz = birleştirme_karakteri.join(ayrılmış_kardiz)
print(birleşik_kardiz)
#Ekran çıktısı: elma-->armut-->ayva-->kavun-->karpuz şeklinde olur

#Örnek:

alman_arabaları = "mercedes,audi,bmw,vw,opel"

print("~~".join(alman_arabaları.split(",")))

Karakter Dizilerinin Metodları 10


"""Bugün karakter dizilerinin metodlarından strip() metoduna biz göz atalım.
strip() metodu karakter dizilerinde  başta ve sonda bulunan istenmeyen simgeleri,
harfleri vs. temizlemeye yarar. Bunu en güzel bir örnek ile açıklayalım."""

kardiz = ">>>>karakter dizisi>>>>"
print(kardiz.strip(">"))
# Ekran Çıktısı : 'karakter dizisi' şeklinde olur.
#Görüldüğü gibi başta ve sonda yer alan karakterler temizlendi.

url = """http://www.google.com
http://www.yahoo.com
http://wwww.bing.com"""

#şimdi yukarıdaki 'http://' temizleyelim. Bunun için bir döngü kuralım

for site_adresi in url.splitlines():
    
    print(site_adresi.strip("http://"))

#Ekran çıktısı:
"""
www.google.com
www.yahoo.com
wwww.bing.com  Şeklinde olur.
"""

#başka bir örnek:

kardiz = "Python"
print(kardiz.strip("P")) #Ekran çıktısı 'ython' şeklinde olur.

#başka bir örnek:

print("kavak".strip("k")) #ekran çıktısı 'ava' şeklind olur.

""" Görüldüğü gibi girilen parametreye göre hem baştaki hem sondaki
harfleri temizledik. Peki sadece soldaki veya sağdaki harften veye işaretten
kurtulmak istersek ne yapacağım. Cevabı basit. Left  = sol demek ilk harfi olan 'l'
ile right = sağ demek, ilkharfi r ile bu işi halledeceğim. Örnek:
"""
print("adana".rstrip("a")) #sağdaki a gitti. Ekran Çıktısı: 'adan' olur
print("adana".lstrip("a")) #soldaki a gitti. Ekran çıktısı : 'dana' olur

#başka bir örnek :

kardiz = "    serdar    " #boşlukları silmek için
print(kardiz.strip()) #yazmamız yeterli olur. 

Karakter Dizilerinin Metodları 9


"""Karakter dizilerinin metodlarından swapcase() metoduna bir göz atalım.
swap takas anlamına gelmektedir. Bu metod büyük karakter dizisi içinde yer
alan büyük harfleri küçük harfle,
küçük harfleri büyük harfle takas eder.Hemen bir örnek yapalım."""

harfler = "AAA-bbb"
print(harfler.swapcase()) #Ekran Çıktımız >>> 'aaa-BBB' şeklinde olur.

#Bildiğiniz gibi i harfi problemimiz var. Çözelim

kardiz = "izmir"
for i in kardiz:
    if i == "i":
        kardiz = kardiz.replace("i","İ")
    elif i == "İ":
        kardiz = kardiz.replace("İ","i")
    else:
        kardiz = kardiz.replace(i,i.swapcase())
print(kardiz)

"""
Şimdi yukarıdaki satırları tek tek tekrar gözden geçirelim:
1-for döngüsü ile karakter dizimizde yer alan her harfi
'i' değişkenine atadık
2-if kontrol yapsını kullanarak 'i' harfine eşit olan her harfi
'İ' harfi ile değiştirdik. Tekrar kardiz'e atadık. Kardizin sakladığı
değeri değiştirmiş olduk.
3-elif yapısı ile 2. basamaktaki işlemleri tekrar yaptık
4-#burası öenmli#  kardiz karakter dizindeki herbir harfin i.swapcase()
ile tersini aldık. 
"""

Karakter Dizilerinin Metodları 8


#-*- coding: utf-8 -*-

"""capitalize() methodundan sonra benzer ve daha fazlasını yapan title()
metodunun inceleyelim. capitalize() karakter dizisinin sadece ilk harfini büyük
harf yapıyordu. title() ise karakter dizisinde yer alan her bir kelimenin ilk harfini
büyütür. Hemen bir örnek yapalım. Etkileşimli kabuk üzerinde veya 'py' uzantılı dosyaya
 şu komutu yazıp çalıştıralım"""

kardiz = "benim adım kırmızı"
print(kardiz.title()) #etkileşimki kabukta print komutuna gerek yok. 
#ekran çıktımız >>> 'Benim Adım Kırmızı' şeklinde olur. 

"""Tahmin ettiğiniz gibi öğrendiğimiz diğer methodlar gibi title() 
i harfi ile arası iyi değil. Şöyle bir örnek yapalım"""

kardiz = "izmir hava limanı"
print(kardiz.title()) #Ekran Çıktısı >>> Izmir Hava Limanı şeklinde olur.

"""Bu durumu düzeltmenin yollarını daha önce öğrenmiştik. Şimdi tekrar yapalım"""
if kardiz.startswith("i"):
 print("İ"+kardiz[1:].title())
 
else:
 print(kardiz.title())
 
"""Fakat burda bir sorun var. Karakter dizimi "i" ile başlarsa sorun yok. Fakat
'bugün iki ekmek aldım' gibi bir karakter dizisine yukarıdaki kodları uyguladığımz
zaman çıktımız >>> 'Bugün Iki Ekmek Aldım! şeklinde olur. Bunu aşmanın yolu karakter
dizisini kelimelerine parçalamak. Sonra herbir kelime için kodlarımızı uygulamak.
Hemen yapalım. Elimizde ile başlayan kelimeler olsun. 
"""
iller = "izmir,istanbul,izmit,içel"

for i in iller.split(","):
 if i.startswith("i"):
  print(i.replace("i","İ",1),end =" ")
  
 else:
  print(iller.title())
# Ekran Çıktısı >>> İzmir İstanbul İzmit İçel İzmir şeklinde olur. 

Karakter Dizilerinin Metodları 7


#-*- coding:utf-8 -*-
""" Bu gün karakter dizilerinin metodlarından capitalize() metodunu öğrenmeye
çalışacağım. Bu metod karakter dizisinin sadece ilk harfini büyütmeye yarar.
Örneğin; elimizdeki "karakter dizisine" uyguladığımızda sadece ilk harfi büyü-
tür. Şimdi bir kaç örnek yapalım."""

kardiz = "programlama öğreniyorum"
print(kardiz.capitalize()) 
""" Çıktımız "Programlama öğreniyorum" şeklinde olur
gördüğünüz gibi sadece ilk harfi büyük. """

#capitalize() metodu da i harfini büyük harf yaparken problem yaşar. örnek:

print("istanbul".capitalize()) # Çıktımız Istanbul şeklinde olur.
#gördüğünüz gibi I harfi ile başlıyor. Bunu düzeltmenin bir iki 
#yolu var. Bunlardan biri karakter dilimleme yöntemi, diğeri replace()
# I. YOL:

kardiz = input("Lütfen bir şeyler yaz")

if kardiz.startswith("i"):
 print(kardiz.replace("i","İ",1))
 

else:
 print(kardiz.capitalize())

"""Yukarıdaki kodların ne yaptığını satır satır inceleyelim.
1- Kullanıcıdan bir şeyler yazmasını istedik
2- Eğer girilen değerin ilk harfi i ise;
  replace metodu ile i'yi İ ile değiştirdik. '1' parametresi
  ile sadece bir tane i harfini değiştirdik. Aynı anda ekrana 
  yazdırdık.
3- Eğer girilen değer 'i' ile başlamıyorsa ilk harfini direk büyüttük. """

#II. YOL:
#karakter dizilerini dilimleyerek yapacağız. 

print("II. YOL")
kardiz = input("Lütfen bir şeyler yaz")

if kardiz.startswith("i"): # i ile başlıyorsa
 print("İ"+kardiz[1:])  # ilk karakteri kes yerine 'İ' koy.

else: # i harfi ile başlamıyorsa
 print(kardiz.capitalize()) # ilk harfini büyüt. 

Karakter Dizilerinin Metodları 6


 
#-*- coding: utf-8 -*-
""" Karakter dizilerinin metodlarından ### startswith() ve endswith() ### me-
todlarını öğrenmeye çalışacağım. startswith() ile endswith() sorgulayıcı metod-
lardır. Yani True ve ya False değeri döndürürler. startswith --> "ile başlar" anla
mına gelir. endswith() --> "ile biter" anlamına gelir. Basit bir örnek yapalım."""

kardiz = "python Programlama Dili öğreniyorum"
print(kardiz.startswith("py"))
"""True değeri döndürür. Biz burda şunu sorguladık kardiz değişkeni "py" ile mi
başlıyor. Eğer başlıyorsa ekran çıktısı "True" olur eğer yanlışsa "False" olur.
Bildiğiniz gibi python büyük küçük harf duyarlı bir dildir. Dolayısı ile kardiz
değişkenimizin "Py" ile başlayıp başlamadığını sorgulasak "False" değerini ekra-
na yazdırır. Peki biz sorgulama yaparken kullanıcının büyük küçük harf girdiğini
nasıl bileceğiz? Aslında bilmemize gerek yok. Tüm harfleri küçük ve ya büyük yapar-
sak sorunu ortadan kaldırmış oluruz. Bunun için daha önceden öğrendiğimiz metodları
kullanabiliriz. """
 


print(kardiz.lower().startswith("py")) 
"""şimdi True değerini döndürür. lower ile
önce tüm harfleri küçük yaptık. Sonra sorgulamamız yaptık.
 şimdi endswith() metodunu deneyelim. """

print(kardiz.endswith("öğreniyorum"))
""" True değerini döndürür. Çünkü sonu böyle "öğreniyorum" şeklinde bitiyor."""

"""şimdi şöyle bir uygulama yapalım. Elimizdeki metin içinden 'b' ile başlayan
kelimeleri çekelim ve ekrana yazdıralım. Örnek metinimiz ilk başta yazdığımız 
açıklama metni olsun. büyük - küçük harf duyarlılığını da bertaraf etmeyi unut-
mayalım""",

metin = """ Karakter dizilerinin metodlarından ### startswith() ve endswith() ### me-
todlarını öğrenmeye çalışacağım. startswith() ile endswith() sorgulayıcı metod-
lardır. Yani True ve ya False değeri döndürürler. startswith --> "ile başlar" anla
mına gelir. endswith() --> "ile biter" anlamına gelir. Basit bir örnek yapalım."""


#Önce kelimelerine ayırmamız lazım. Daha önceden öğrendiğimiz split() methodunu
#kullanalım derim :) Sonra sorgulamımızı yapalım

for i in metin.lower().split(): 
 if i.startswith("b"):
  print(i)


""" Yukarıdaki kodları satır satır açıklayalım:
1- Uzun metnin tüm karakterlerini küçük harfe çevirdik.
split() metodu ile kelimelerine ayırdık.
2-for döngüsü ile her bir kelimeyi teker teker i' ye atadık. 
3-if kontrol yapısını kullaranarak b ile başlayanları yazdırdık.
"""
#şimdi aynısını endswith için yapalım.

for i in metin.lower().split():
 if i.endswith("n"):
  print(i)


### ÖDEV ###
#siz kendiniz de kullanıcıdan bir harf ya da kelime alarak
#sorgu yazabilirsiniz. 

Karakter Dizilerinin Metodları 5


#-*- coding:utf-8 -*-
"""Bu notlarda islower() ve isupper() metodlarını inceleyeceğim, öğrenmeye çalı
şacağım. Şimdiye kadar replace(),strip(),lower() ve upper() metodlarını incele-
dim. Bu metodlar karaketer dizilerinin çıktılarını alırken bir takım manipulasyon
lar yapmamızı sağlıyordu. Bu yüzden bu metodlara değiştirici metodlar da diyebi-
liriz. 
### islower() ve isupper() ### ise değiştirici değil sorgulayıcı metodlardır. 
Bu metodlardan islower() karakter dizisinin taşıdığı tüm değerin küçük harf
olup olmadığını kontrol eder. isupper() ise tam tersini  yapar. Yani karakter
dizisinin taşıdığı değerin tüm harflerinin büyük harf olmadığını kontrol eder.
sonuç doğru ise True değerini yanlış ise false değerini döndürürler. Şimdi bir
kaç örnek yapalım."""

lower_case = "ben bir küçük harfim"

print(lower_case.islower) # Tüm harfler küçük olduğunda True değerini döndürür.

upper_case = "BÜTÜN HARFLER BÜYÜK"
print(upper_case.isupper()) #bütün harfler büyük olduğundan True değerini döndürür.

print(lower_case.isupper()) #harfler küçük olduğundan False değerini döndürür. 

kardiz = "Büyük Balık"
print(kardiz.islower()) # False değerini döndürür. Tüm harfler küçük değil
print(kardiz.isupper()) # False değerini döndürür. Tüm harfler büyük değil. 




karakter_dizisi = input("Lütfen bir şeyler söyle")

if karakter_dizisi.islower():
 print("tüm harfleri küçük girdiğiniz için teşekkür ederiz.")
else:
 print("lütfen tüm harfleri küçük giriniz")

Karakter Dizilerinin Metodları 4


#-*- coding:utf-8 -*-
### lower()  Metodu ###
""" lower motodu adından anlaşıldığı gibi büyük harfleri küçük harf yapar. Peki,
lower() nerde, ne için kullanırız. Bildiğiniz gibi büyük harf ve küçük harf eşit
değildir. Bu yüzden kullanıcıdan alınan verinin işlenmesi sırasından kullanıcı 
büyük harf mi girdi küçük harf mi girdi, gibi sıkıntılarla karşılaşırız. Bu sıkıntıları
bertaraf etmek için kullanıcından gelen tüm veriyi küçük harfe çevirebiliriz. Şimdi basit
bir hesap makinesi yapalım. Kullanıcıdan işlem adını girmesini isteyelim. Biz de kullanıcından
gelen bilgiye göre işlem yapalım. """

metin = "Hesap Makinesi Programı"
print("-"*len(metin))
print(metin)
print("-"*len(metin))
print("""Lütfen yapmak istediğiniz işlemi seçiniz:
Toplama için >>> toplama
Çıkarma için >>> çıkarma
çarpma için  >>> çarpma
Bölme için   >>> Bölme
şeklinde giriş yapınız
""")

sayı1 = int(input("Lütfen birinci sayıyı giriniz"))
sayı2 = int(input("Lütfen ikinci sayıyı giriniz"))
işlem = input("lütfen yapmak istediğiniz işlemi giriniz").lower()

if işlem == "toplama":
 print(sayı2+sayı1)

elif işlem == "çıkarma":
 print(sayı1 - sayı2)

elif işlem == "çarpma":
 print(sayı2*sayı1)

else:
 print(sayı1/sayı2)
 
"""Basit hesap makinesi programımızda kullanıcı işlemi ister büyük
 harfle ister küçük harfle girsin. Bizim için sıkıntı yok çünkü kullanıcından gelen
 tüm veriyi küçük harfe çevirdik. Bir örnek daha yapalım. Sizin de bildiğinizi gibi 
 kullanıcı adı ve şifre işlemlerinde;
 kullanıcı adı büyük ve küçük harfe duyarlı olmamalıdır. . 
 örneğin: Serdar, SERDAR, serdar şeklinde ki kullanıcı adları eşit sayılmalı
 şifre ise büyük küçük harf duyarlı olmalıdır. Şimdi basit bir kullanıcı adı ve şifre
 uygulaması yapalım."""

kullanıcı_adı = input("Lütfen kullanıcı adınızı giriniz").lower() #kullanıcı adında büyük harf küçük harf sorununu ortadan kaldırdık.
şifre = input("Lütfen şifrenizi giriniz")

if kullanıcı_adı == "serdar" and şifre == "xyz":
  print("Sisteme giriş yaptınız")

else:
  print("kullanıcı adı veya şifre hatalı")

"""Fakat lower() metodunun bir sıkıntısı var. İ harfini i̇ şeklinde küçültüyor ve I harfini i olarak küçültüyor. 
eğer "İstanbul".lower() yazarsak tam olarak doğru bir çıktı alayamız. Etkileşimki kabuk üzerinde deneyebilirsiniz. 
Şimdi buna bir çözüm bulalım."""

il = "KIRIKKALE"
print(il.lower()) # çıktısı kirikkale şeklinde olur. 
print(il.lower().replace("i","ı")) #ile bu soruna çözüm bulabiliriz. 


### upper() ###
""" Bu metod lower() metodunun yaptığının tam tersini yapar. Yani bütün harfleri büyük harf yapar.
kullanım şekli ve mantığı lower() ile aynıdır. Hemen bir örnek yapalım.
"""
değişken = "büyük harf"
print(değişken.upper()) #ekran çıktımız>>> BÜYÜK HARF şeklinde olacaktır. 

#upper() i harfini I şeklinde büyütür. Bunu da replace() ile çözebiliriz.

şehir = "izmir istanbul "
print(şehir.replace("i","İ").upper())  # Ekran çıktısı >>> İZMİR İSTANBUL şeklinde olacaktır. 

Karakter Dizilerinin Metodları 3


#-*- coding: utf-8 -*-

"""
Bu yazımda Karakter dizisi metodlarından split metodunu öğrenmeye çalışacağım. 
split türkçede bölmek ayırmak anlamlarına gelir. Tam da bu anlamına uygun vazife görür.
split kendisine verilen bir parametreyi referans alarak karakter dizilerini böler.
örneğin şimdiya kadar yazdığım metni, kelimeler arasındaki boşluklardan bölebilir.
Yani herbir boşluktan sonra metni kelime kelime parçalamış olur. Ve bir liste oluşturur. 
liste karakter dizileri gibi bir veri tipidir. Daha sonra ki konularda öğreneceğim. 
"""

#Örnek: yukarıdaki metni alalım. Değişkene atayalım.

metin = """Bu yazımda Karakter dizisi metodlarından split metodunu öğrenmeye çalışacağım. 
split türkçede bölmek ayırmak anlamlarına gelir. Tam da bu anlamına uygun vazife görür.
split kendisine verilen bir parametreyi referans alarak karakter dizilerini böler.
örneğin şimdiya kadar yazdığım metni, kelimeler arasındaki boşluklardan bölebilir.
Yani herbir boşluktan sonra metni kelime kelime parçalamış olur.
"""

# kullanımı şu şekilde: metin.split(" ")

print(metin.split(" ")) 

### EKRAN ÇIKTISI ###

"""['Bu', 'yazımda', 'Karakter', 'dizisi', 'metodlarından', 'split', 'metodunu', 'öğrenmeye', 
'çalışacağım.\nsplit', 'türkçede', 'bölmek', 'ayırmak', 'anlamlarına', 'gelir.', 'Tam', 'da', 
'bu', 'anlamına', 'uygun', 'vazife', 'görür.\nsplit', 'kendisine', 'verilen', 'bir', 'parametreyi',
 'referans', 'alarak', 'karakter', 'dizilerini', 'böler.\nörneğin', 'şimdiya', 'kadar', 'yazdığım', 
 'metni,', 'kelimeler', 'arasındaki', 'boşluklardan', 'bölebilir.\nYani', 'herbir', 'boşluktan', 'sonra',
 'metni', 'kelime', 'kelime', 'parçalamış', 'olur.\n']"""
 
 #her bir tek tırnak içindeki kelime bir değişken oluyor. 
 
 #şimdi aynı işi daha güzel yapmak için döngüleri kullanalım.
 
for i in metin.split(" "):
 print(i)
 
### EKRAN ÇIKTISI ###
"""Bu
yazımda
Karakter
dizisi
metodlarından
split
metodunu
öğrenmeye
çalışacağım.
split
türkçede
bölmek
ayırmak
anlamlarına
gelir.
Tam
da
bu
anlamına
...
şeklinde uzayıp gider. Ben burada boşluklardan böl dedim.
Tabi başka parametrede girebiliriz.
"""

#Şimdi metni ','  geçen yerlerden bölelim. 

meyve_isimleri = "elma,armut,kiraz,vişne,kavun"

#Şimdi farklı bir şey deneyelim. Önce meyve_isimleri değişkenini virgüllerden bölüp/parçalayıp sonra yeni bir değişkene atayalım

meyve = meyve_isimleri.split(",")
print(meyve[0]) # elma çıktsını verir
print(meyve[1]) #armut çıktısını verir.

#Son olarak karakter dizisinin kaç kez bölüneceğini de parametre olarak verebiliriz.

for i in meyve_isimleri.split(",",2): #iki kez bölünmesini sağladık. 
 print(i)

### EKRAN ÇIKTISI ###
"""
armut
kiraz,vişne,kavun
şeklinde olur 
"""

### rsplit ###
"""rsplit ile split aslında aynı işi yapar. Sadece aralarında bir fark vardır. split karakter dizisini bölmeye
soldan başlar, rsplit ise sağdan başlar. """

tc = "Türkiye Büyük Millet Meclisi"
print(tc.rsplit(" ",1))
# Ekran çıktısı şu şekilde olur.>>>> 'Türkiye Büyük Millet', 'Meclisi'
#dikkat ettiyseniz ilk parçayı sondan aldı. 

### splitlines Metodu ###
"""Adında anlaşıldığı gibi satır satır karakter dizisini bölmeye yarar.Elimizde ki uzun metinleri
satır satır bölmek için kullanabiliriz. Ben yine istihza.com adresinden bir metin kopyalayacağım
daha sonra bu metni satır satır böleceğim. Daha sonra istediğim satırın numarasını yazarak erişim
sağlayacağım. """

uzun_metin = """Python programlama dili Guido Van Rossum adlı Hollandalı bir programcı
tarafından 90'lı yılların başında geliştirilmeye başlanmıştır. Çoğu insan, isminin
Python olmasına bakarak, bu programlama dilinin, adını piton yılanından aldığını
düşünür. Ancak zannedildiğinin aksine bu programlama dilinin adı piton yılanından
gelmez. Guido Van Rossum bu programlama dilini, The Monty Python adlı bir İngiliz
komedi grubunun, Monty Python's Flying Circus adlı gösterisinden esinlenerek
adlandırmıştır. Ancak her ne kadar gerçek böyle olsa da, Python programlama
dilinin pek çok yerde bir yılan figürü ile temsil edilmesi neredeyse bir gelenek
halini almıştır diyebiliriz."""

print(uzun_metin.splitlines()[0]) 
# Çıktı şu şekilde olur >>>Python programlama dili Guido Van Rossum adlı Hollandalı bir programcı
#yani elimizdeki metnin ilk satırı. Saymaya sıfır ile başladığına dikkat edin. 

Karakter Dizilerinin Metodları 2


#-*- coding: utf-8 -*-
"""
Bir önceki derste karakter dizilerinin metodlarını listelemeyi öğrenmiştim. 
Şimdi ise bu metodlara tek tek örnek vererek öğreneceğim. İlk replace metodu 
ile başlayalım. "replace" Türkçede anlamı değiştirmek, yerine koymak gibi 
anlamlara gelir. Tam da bu anlama uygun bir görevi yerine getirir. Hemen 
örneklerime başlayayım.
"""

#Önce bir string değişken tanımlayayım.

str_değişken = "Malatya"
#Şimdi Malatya içinde yer alan küçük 'a' ları 'A' yapalım.

print(str_değişken.replace("a","A"))

#Ekran çıktısı: 'MAlAtyA' şeklinde olur.

"""###NOT### karakter dizilerinin metodları değişkenin taşıdığı değeri değiştirmez. Sadece
ekran çıktısını manipule eder. Yani değişkenimiz taşıdığı değer hep aynı kalır. Sadece
metodları kullanarak değişkenin taşıdığı değeri bizim istediğimiz gibi çıktısını alırız.
karakter dizileri değiştirilemeyen veri türleridir. 
"""
#Örnek:

değişken = "karakter"
print(değişken.replace("kar","KAR"))
print(değişken)

"""###EKRAN ÇIKTISI###
KARakter
karakter 
şeklinde olur. Yani değişkenin değeri değişmez. Fakat biz yeni bir değişken 
oluşturabiliriz.
"""
#Örnek:

yeni_değişken = değişken.replace("kar","KAR")
print(yeni_değişken)
###EKRAN ÇIKTISI###
# KARakter şeklinde olur. 

"""" replace metodu 3. bir parametre daha alır. 
str_değişken.replace("a","A",2) 
yani 'a' yı 'A' ile değiştir. baştan başlayarak sadece 2 tanesini değiş. 
"""
print(str_değişken.replace("a","A",2))
###EKRAN ÇIKTISI###
# MAlAtya şeklinde olur. 

#basit bir örnek yapalım. Bir metin içindeki e harflerini silelim.
#benim python çalıştığım kitaptan bir metin kopyalayıp, metinde geçen
#e seslerini silelim. http://belgeler.istihza.com/py3/karakter_dizilerinin_metotlari1.html

metin = """Karakter dizileri konusunun ilk bölümünde ‘değiştirilebilirlik’ (mutability) üzerine
 söylediğimiz şeylerin burada da geçerli olduğunu unutmayın. Orada da söylediğimiz gibi, karakter
 dizileri değiştirilemeyen veri tipleridir. Dolayısıyla eğer bir karakter dizisi üzerinde değişiklik
 yapmak istiyorsanız, o karakter dizisini baştan tanımlamalısınız. Örneğin:
"""
print(metin.replace("e",""))

""" ### EKRAN ÇIKTISI### 
Karaktr dizilri konusunun ilk bölümünd ‘dğiştirilbilirlik’ (mutability) üzrin
 söyldiğimiz şylrin burada da gçrli olduğunu unutmayın. Orada da söyldiğimiz gibi, karaktr
 dizilri dğiştirilmyn vri tiplridir. Dolayısıyla ğr bir karaktr dizisi üzrind dğişiklik
 yapmak istiyorsanız, o karaktr dizisini baştan tanımlamalısınız. Örnğin:

şeklinde olur
"""