String Data Type

Python'da metinsel tüm veriler string olarak adlandırılır ve kısaca str olarak ifade edilir. String verileri öğrenmeden önce tüm veri tiplerine (data types) göz atalım.

Data Types

Python'da 7 temel veri tipi (data type) mevcuttur:

Her bir veri tipinin kendine özgü özellikleri vardır.

string data types

Şimdi PyCharm'ı çalıştıralım ve New Project ile yeni bir proje oluşturalım.

string data types

Projemizin adını PythonDataTypes olarak belirleyelim ve diğer özellikleri görseldeki gibi bırakalım. Projenizi masaüstünüzde oluşturmanızı tavsiye ederim.

string data types

Main.py içindeki tüm kodları silebilirsiniz.

string data types

a = "Hello World" ve b = 'Hello World' şeklinde iki farklı değişken oluşturabilir ve print fonksiyonu ile bu değişkenleri yazdırabilirsiniz. Python'da string (metinsel) değişkenler oluştururken daima tırnak işareti (") ya da tek tırnak (') kullanıyoruz.

Kodları çalıştırmak için Run düğmesine tıklamalısınız. Ya da klavye kısayolu olarak SHIFT + F10'u kullanabilirsiniz. Kodları yazarken bir alt satıra geçmek için de SHIFT + ENTER klavye kısayolunu kullanabilirsiniz.


type() Fonksiyonu

Bir değişkenin veri tipini öğrenmek için type() fonksiyonunu kullanmalıyız. type() fonksiyonunu çıktı olarak görebilmek için daima print() fonksiyonu içerisine yazıyoruz.

string data types

Bir önceki kodlarımızın veri tiplerini öğrenmek istediğimizde print() fonksiyonu içerisine type() fonksiyonunu yazabiliriz.

Bu şekilde iki veri tipinin de str yani string (metinsel) veri tipinde olduğunu öğrenebiliriz.


Metinsel Verilerde Kaçış Karakterleri

string data types

Diyelim ki c değişkenini tek tırnak (') içerisinde I'm zinzin. olarak tanımlamak isteyelim. Fakat bu kodu çalışdırdığımızda hata alacağız. Çünkü I'm ifadesindeki tek tırnak Python tarafından metin ifadesinin bittiği olarak algılanacaktır.

string data types

Bu tür sorunlardan kurtulabilmek için ilk kaçış karakterimiz olan \ (ters slaş) karakterini tek tırnaktan önce kullanmalıyız. Ters slaş işaretini kullanabilmek için klavyemizde SAĞ ALT ve Soru İşareti düğmelerine birlikte basmalıyız. Sağ ALT düğmesi bazı klavyelerde ALT GR olarak da gösterilmektedir.


Alt Alta Yazdırma ve Uzun Metin Yazıları

string data types

Metinleri alt alta yazdırmak için \n kodlarını kullanabiliriz. \n "next line" yani bir sonraki satır anlamına gelmektedir.

string data types

Eğer çok uzun metinsel ifadeleri alt alta yazdırmak istiyorsak ''' (Üç Tırnak) işaretini kullanabiliriz.


String İfadelerin Birleştirilmesi

string data types

String ifadeleri birleştirmek için + (artı) operatörünü kullanmalıyız. Yukarıdaki örnekte f, g ve h olmak üç farklı string değişkeni tanımladık ve artı operatörü ile bu üç değişkeni i değişkeninde birleştirdik.

Dilersek değişkenleri kullanmadan da metinsel ifadeleri birleştirebiliriz. Fakat birleştirme sırasında " " şeklinde boşluk değerlerini de birleştirmeyi unutmuyoruz.


Türkçe Karakterlerin Yazdırılması

string data types

PyCharm UTF-8 (Unicode) özelliği sayesinde Türkçe ve diğer birçok yabancı dili destekleyecektir. ç, ğ, ş gibi harflerin yazımında herhangi bir sorun çıkmayacaktır.

string data types

Fakat Visual Studio Code UTF-8'e ayarlı olmasına rağmen Türkçe karakterlerde sorun çıkartacaktır. Elbette bu sorunu araştırıp çözebiliriz fakat PyCharm'ın bir diğer avantajı da bizi bu tür sorunlarla uğraştırmamasıdır.


len() fonkisyonu ve Slicing

string data types

len() fonksiyonu length (uzunluk) kelimesinin kısaltması olup bir değişkene ait verinin kaç karakterden oluştuğunu göstermektedir.

Yukarıdaki örnekte mystring adlı yeni bir değişken tanımladık ve bu değişkene ait string veri uzunluğunun 15 karakterden oluştuğunu görebiliriz.

string data types

Eğer 0'dan 5. karaktere kadar olan tüm karakterleri yazdırmak istersek değişken adından sonra [0:5] yazmamız yeterlidir. Python'da buna slicing (dilimleme) denilmektedir. Python index'ler 0'dan başlar. Bu örnekte 0. 1. 2. 3. ve 4. karakterleri yazdırdık. Dikkat ederseniz 5. karakter olan f harfi dahil değil.

string data types

Bunu köşeli parantezler içerisine 0 (sıfır) koymadan da yapabiliriz. [:5] kodunun anlamı 5. karakterden önceki tüm karakterleri yazdır demektir.

string data types

Beşinci karakterden sonraki tüm karakterleri yazdırmak istersek [5:] ifadesini yazmak yeterlidir.

string data types

Sadece cde karakterlerini yazdırmak istersek [2:5] dilimlemesini yapmamız yeterli. Unutmayın, Python'da index'ler 0'dan başlar. Bu sebeple c harfi (a:0), (b:1) ve (c:2) indeks sıralamasına göre 2. sırada olacaktır.

string data types

Eğer tüm karakterleri 2 kez atlayarak yazdırmak istersek :: kullandıktan sonra 3. parametre olarak 2 yazmamız yeterlidir. Bu sayede indeksi 2 ve 2'nin katlarına denk gelen tüm karakterler atlanacak ve acegikmo ifadesi yazdırılacaktır.

string data types

Eğer sadece 5. karakteri yazdırmak istersek mystring[5] ifadesini yazmalıyız. Python'da buna indexing (indeksleme) denilmektedir.


String'lerde Değişmezlik (Immutability)

string data types

Bu ve bundan sonraki konularımızda immutability (değişmezlik) kavramına sıklıkla değineceğiz. Python'da bazı veri tipleri immutability özelliğine sahiptir. Bunlardan biri de string'lerdir. Yukarıdaki örnekte a değişkenine "Deneme" adlı string bir veri atadık. Bu verinin ilk harfi olan D'yi Z ile değiştirmek istedik. Kodu yazdırdığımızda hata aldık. Bu şekilde string değişkenlerin immutability özelliğine sahip olduğunu görebilirsiniz.


String Metodları

string data types

Sadece string değişkenler üzerinde uygulanabilen birçok metod bulunmaktadır. Yukarıdaki örnekte a değişkenine "zinzin" adlı bir string değer atadık. upper() fonksiyonu ile bu değişkenin verisini büyük harflerle yazdırdık.

Diğer tüm string metodlarını incelemek için W3Schools'un String Metodları sayfasını ziyaret edebilirsiniz.

Python'da Yorum Yazma

string data types

Python'da tek satır yorum yazarken # (diyez) işaretini kullanmamız yeterlidir.

string data types

Yorumları kodlardan sonra da yazabiliriz.

string data types

Çok uzun yorumlarda ''' (üç kesme işareti) ya da """ (üç tırnak işareti) kullanabiliriz.


f-string

f-string'ler Python 3.6 sürümü ile gelen metin özelliklerinden biridir.

string data types

Yukarıdaki örnekte name ve age olmak üzere iki değişken tanımladık. Bu değişkenleri yazdırmak istersek f"" içerisinde {} (köşeli parantezler) ile değişkenlerimizi kullanmamız yeterlidir. Bu şekilde değişkenlerimizi metinsel ifadelerin içerisinde kullanabiliriz.

string data types

Daha önce bunu format() fonksiyonu ile yapabiliyorduk. Fakat artık f-string'ler ile bu işlem çok daha kolay.

Evet, Python'da string ifadeleri bu şekilde. Şimdi bu derste öğrendiklerimizi tekrar mahiyetinde aşağıdaki uygulamaları yapabilirsiniz.


Sıra Sizde

Uygulama 01:

Yukarıdaki kodları kopyalayınız ve editörünüze yapıştırınız. a ve b değişkenlerinin tiplerini yazdırınız.


Yanıtı Göster

Değişkenlerin tiplerini bulmak için type() fonskiyonu içerisine değişken adlarını yazmamız yeterlidir. İki değişkenin de tipi

<class 'str'>
olarak string tipinde yazdırılacaktır.


Uygulama 02:

Yukarıdaki kodları kopyalayınız ve editörünüze yapıştırınız.

"Adım zinzin. Yaşım 36. İstanbul'da oturuyorum." olacak şekilde yazdırınız.


Yanıtı Göster

Bu tür durumlarda Python'da f-string'leri kullanmamız yeterlidir. Kodları yukarıdaki gibi yazdığımızda

Adım zinzin. Yaşım 36. İstanbul'da oturuyorum.
çıktısını elde edeceğiz.


Uygulama 03:

Yukarıdaki kodları kopyalayınız ve editörünüze yapıştırınız.

İfadenin içerisindeki "Türk" kelimesini yazdırınız.


Yanıtı Göster

Bir metin ifadesinin içindeki belirli karakterleri yazdırmak için slicing (dilimleme) yapmalıyız. Python'da karakterler 0'da başladığı için 9. karakterden 13. karaktere (13 hariç) kadar olan tüm karakterleri yazdırdığımızda

Türk
çıktısını elde edeceğiz.


<<< Önceki Konu
Sonraki Konu >>>