Bu makalemizde Python’da oldukça önemli bir yere sahip olan, Python’da String işlemlerini anlatacağız.
Python’da string işlemleri, metin verilerini işlemek, manipüle etmek ve analiz etmek için oldukça önemli bir rol oynar. İşte python’da string işlemlerinin önemini anlatan bazı noktalar:
- Veri Girişi ve İşleme: Kullanıcıdan alınan metin verileri, genellikle string olarak temsil edilir. Kullanıcı girişini almak, doğrulamak, düzenlemek veya işlemek için stringlerin kullanılması yaygındır.
- Metin İşleme: Metin analizi, doğal dil işleme ve metin madenciliği gibi alanlarda, string işlemleri oldukça önemlidir. Metin içeriğinde arama, dönüşüm, bölme, birleştirme, çıkarım ve diğer manipülasyonlar yapmak için string işlemleri kullanılır.
- Dosya İşlemleri: Bir dosyadan okunan veya bir dosyaya yazılan veriler genellikle stringler olarak temsil edilir. Dosya işleme işlemleri, dosya içeriğini okuma, yazma, düzenleme ve analiz etme konularında string işlemlerini içerir.
- Veri Biçimlendirme: String işlemleri, verileri belirli bir biçimde görüntülemek veya raporlamak için kullanılabilir. Örneğin, tarihleri, saatleri, para birimlerini veya ölçü birimlerini string işlemleriyle biçimlendirebilir ve istenen şekilde sunabilirsiniz.
- Veri Temizleme ve Doğrulama: String işlemleri, metin verilerindeki gereksiz karakterleri kaldırmak, boşlukları temizlemek, büyük/küçük harf dönüşümleri yapmak veya verileri doğrulamak için kullanılabilir. Veri temizleme ve doğrulama, veri analitiği veya web scraping gibi birçok veri işleme senaryosunda önemlidir.
- Kod Manipülasyonu: String işlemleri, programın çalışma zamanında oluşturulan kod parçalarını manipüle etmek veya oluşturmak için kullanılabilir. Örneğin, string işlemleriyle kod içinde değişken adları veya fonksiyon adları oluşturabilir veya yerine geçen parametrelerle dinamik olarak bir kodu şekillendirebilirsiniz.
Şimdi python’da bu string işlemlerinin nasıl yapıldığına bir bakalım.
Python’da stringler, bir veya daha fazla karakter dizisinden oluşan bir veri türüdür ve tek tırnak veya çift tırnak içinde tanımlanır.
1 2 3 4 5 |
stringKelime="Merhaba" stringKelime2='ibrahim' print(stringKelime) print(stringKelime2) |
1. String Birleştirme
Python’da iki veya daha fazla stringi birleştirmek için “+” işleci yada”,” kullanılır.
1 2 3 4 |
isim="Merhaba" soyad="ibrahim" print(isim+" "+soyad) |
Kodumuzu yazdığımızda isim ve soyad adlı değişkenimizin ortasında bir boşluk bırakıldığını görürüz.
Ekran çıktısı aşağıdaki gibidir:
Stringleri virgülle birleştirme işlemi:
1 2 3 4 |
isim="Merhaba" soyad="ibrahim" print(isim," ",soyad) |
Virgülle birleştirme işlemi yaptığımızda da iki değişken arasında iki tane daha fazla boşluk atıldığını görebileceğiz:
Her iki yöntem de işlevsel bir fark yoktur. Ancak, ikinci yöntemde değişkenler ve boşluk karakteri virgülle ayrıldığından otomatik olarak bir boşluk eklenir. Bu durum, daha okunabilir bir kod sağlayabilir.
Eğer iki değişken arasında istediğimiz bir karakter eklersek virgülle ayırma yöntemi daha kullanılışlı olacaktır..Örneğin, print(isim, “-“, soyad) ifadesi Merhaba – ibrahim şeklinde bir çıktı üretecektir.
1 2 3 4 5 6 |
isim="Merhaba" soyad="ibrahim" print(isim,"-",soyad) print(isim+"-"+soyad) |
Ekran çıktımızda da görüldüğü üzere virgülle birleştirme işlemi yapıldığında iki değişken arasında boşluk istenilen karakter boşluk olmuştur.
2.String parçalama
String parçalamada oldukça önemli bir konudur stringleri istediğimiz gibi ayırmamıza izin verir ve stringlerdeki karakterleri veya alt dizileri seçmek için dilimleme (slicing) kullanılır. Dilimleme, kullanımı “[başlangıç_indeksi:bitiş_indeksi]” sözdizimini kullanır.
Pythonda indeksler 0’dan başlar ve böylece numaralandırılır. Burada dilimleme yaparken başlangıç olarak 0’dan alacağımızı unutmayalım.
1 2 3 4 |
# Slicing Dilimleme kelime="MERHABA" print(kelime[0]) print(kelime[1:5]) |
Burada kelime[0] yazıldığında sadece ilk indeks olan “M” harfi, kelime[1:5] yazıldığında başlangıç olarak E alınıp devam eden RHA alınmışır ancak 5. İndeks olan “B” dahil edilmemiştir.
Özetle dikkat edilmesi gereken nokta başlangıç indeksinden başlanılıp, bitiş indeksine kadar harfleri almasıdır ama bitiş indeksi buna dahil değildir.
ekran çıktısı aşağıdaki gibidir:
3. String uzunluğu
Python’da bir stringin uzunluğunu, len() fonksiyonu kullanarak öğrenebilirsiniz.
1 2 |
kelime="MERHABA" print(len(kelime)) |
Aşağıdaki ekranda görüldüğü gibi karakter uzunluğu 7’dir.
4. String içinde arama
Python’da bir string içinde bir karakter veya alt dizi aramak için, “in” anahtar kelimesini kullanabilirsiniz.
1 2 3 4 5 6 |
metin="merhaba ben ibrahim" print("ibrahim" in metin) if "ibrahim" in metin: print("aranılan altdizi metinde bulundu") |
Burada ilk ifade de print(“ibrahim” in metin) sonucunda aranılan isim metinde olduğu için True sonucu döner
if “ibrahim” in metin: ifadesinde ise bir if döngüsü senaryosunda oldukça kullanılışlıdır
Çıktımız ekrandaki gibidir:
5. String formatlama
Python’da stringleri biçimlendirmek için farklı yöntemler vardır. En yaygın kullanılanı, “format()” fonksiyonudur.
1 2 3 4 |
isim = "ibrahim" soyisim="atlı" yas = 28 print("merhaba benim adım {} soyadım {} ve ben {} yaşındayım".format(isim,soyisim,yas)) |
burada belirledğimiz değişkenler sırasıyla {} süslü parantezler içerisine yazılır:
6.String tip dönüştürme
Python’da stringleri diğer veri türlerine dönüştürmek için, ilgili veri türü adını kullanarak bir tür dönüşümü yapabilirsiniz. Tip Dönüşüm yaparken dönüştürmek istediğimiz tip türünü başa yazıp değişkeni de parantez içerisine yazarız kullanımı int(değişken) şeklindedir.
1 2 3 4 5 6 |
StringSayi = "20" integerSayi = int(StringSayi) print(integerSayi) stringPi = "3.1415" floatPi = float(stringPi) print(floatPi) |
burada string türünde verilen 20 sayısını integer tipine, yine string türünde verilen stringPi sayısını Float tipine dönüştürme işlemini yapmaktadır.
Kodumuzu ekran çıktısı:
7. String büyük/küçük harf dönüşümü
Python’da bir stringin tüm karakterlerini büyük harf veya küçük harf yapmak için, “upper()” veya “lower()” metodlarını kullanabilirsiniz.
1 2 3 |
kelime="Merhaba" print(kelime.upper()) print(kelime.lower()) |
burada “Merhaba” Stringimizi lower() fonksiyonu kullanarak tüm harfleri küçük harflere, upper() fonksiyonu kullanarak büyük harflere dönüştürme işlemi gerçekleştirdik. Kodumuzun ekran çıktısı aşağıdaki gibidir:
8. String başlangıç/son kontrolü
Python’da bir stringin belirli bir alt dizisiyle başladığını veya bittiğini kontrol etmek için, “startswith()” ve “endswith()” metodlarını kullanabilirsiniz.
1 2 3 |
kelime="Merhaba ben ibrahim" print(kelime.startswith("Mer")) print(kelime.endswith("ibrahim")) |
burada kelime değişkenimizde “Mer” ile başlanma durumunu ve “ibrahim” ile bitiş durumunu kontrol ettik ve bunun sonucunda True veya False seçeneklerinden birini yazacağını gördük.
9. String bölme
Python’da bir stringi belirli bir ayraçla bölmek için, “split()” metodu kullanılabilir. Bu metot, stringi belirtilen ayraçla ayırarak, bir liste döndürür.
1 2 3 |
cumle="Merhaba pazardan elma, armut, portakal aldım." parcalanmısKelime=cumle.split(",") print(parcalanmısKelime) |
Burada verilen cümlede, virgül’e göre bir parçalama yapılmış ve cümlemiz üç parçaya bölünmüştür.
10. String tekrarlama
Python’da bir stringi belirli bir sayıda tekrarlamak için, çarpma işleci kullanılabilir.
1 2 3 |
karakter="-" print(karakter*50) |
Burada “-“ belirlediğimiz özel karakteri yada bu harf de olabilir bir değişkene atıp daha sonra *50 diyerek bundan 50 tane oluşturulmasını yada tekrarlamasını sağladık. Kodumuzu ekran çıktısı aşağıdaki gibidir: