1.
Veri Yapıları
[Link] Sayılar
Pythonda sayılar aynı gerçek hayatta olduğu gibidir. Bir tamsayılar vardır birde ondalıklı. Tam
sayılarak integer kısaltılmış haliyle int, ondalıklı sayılara ise float denir.
Veri Tipi: Kullanılan verilerin bulunduğu biçime denir.
İnteger: Tam sayı veri tipidir.
Float: Ondalıklı sayı veri tipidir.
[Link] Matematik Operatörleri
Toplama (+): Arasına konulan iki sayıyı toplar.
Çıkarma (-): Arasına konulan iki sayının farkını alır.
Çarpma (*): Arasına konulan iki sayıyı çarpar.
Bölme (/): Arasına konulan iki sayıyı böler.
[Link]ğişkenler ve Değişken Tanımlama
Değişken: Değişkenler içinde bir veri tipinden veri/data tutan ifadelerdir. Değişken
tanımlamak için bir isim ve içine ‘=’ operatörü ile atayacağımız bir veri gerekir.
Eğer değişkenimiz içindeki değeri değiştirmek istersek de aynı şekilde yeni bir değer atayabiliriz.
Değişkeni kullandığımız yerde aslında içindeki değeri kullanmış oluruz.
Yani buradaki gibi.
Her istediğimiz şekilde değişken tanımlayamayız. Değişken tanımlamanın bazı kuralları vardır.
Bunlar:
1- Değişken isimleri bir sayı ile başlatılamaz.
2- Değişken ismi birden fazla kelimeden oluşuyorsa araya boşluk konulamaz.
3- !’^+%&/()=? gibi ifadeler değişken isimlerine kullanılamaz.
4- Pythonda tanımlı olan ifadeler değişken isimlerinde kullanılamaz. (while,not)
İki Değişkenin Değerlerini Birbiriyle Değiştirme: Bu işlem için şu kodu kullanabiliriz.
[Link] Satırları
Yorum satırları python tarafından görülmez ve çalıştırılmaz. Açıklama yapmak için kullanılır. Yani
birere hayalet gibidirler. Hiçbir şekilde çalıştırılmaz.
Tekli Yorum Satırı: Açıklamayı tek satır şeklinde yapmak istiyorsanız satırın başına ‘#’
ifadesini getirin. ‘#’ ile başlayan satırlar çalıştırılmaz. Yani yorum satırı olarak kullanılır.
Çoklu Yorum Satırı: Birden fazla satırdan oluşan bir açıklama yapmak istiyorsanız da
üç adet çift tırnak ile başlayıp iç adet çift tırnak arasında yazabilirsiniz. Bu satırlarda
çalıştırılmaz.
[Link] Operatörleri
Tam Sayı Bölmesi (//): Bu bölme ‘//’ işaretiyle yapılır. Bu bölme ile sonucu küsüratlı
bölme işlemleri sonucu tam sayı olanlara çevrilir.
Kalan Bulma (%): Bu operatör ile bir sayının bir diğer sayıya bölümünden kalan
hesaplanır.
Kalan 0 ise tam bölünüyor demektir.
Üs Alma (**) : İfadenin soluna gelen sayının, ifadenin sağına gelen sayı kadar üssünü
alır.
[Link] (Karakter Dizileri)
String: String metin veri tipidir. Günlük hayattaki metinlere yazılara benzer.
Bir string yani bir metin oluşturmak istiyorsanız oluşturmak istediğiniz metni tek
tırnak veya çift tırnak arasına yazmanız gerekir.
String İndexleme: Bir stringin içinden sadece bir karakteri almak istersek String
indexleme yapmalıyız.
Strngler içindeki metinlerin karakterlerinin elemanları olduğu birer dizidir. Mesela “ali” stringine
bakacak olursak; a ilk eleman, l ikinci, i ise üçüncü eleman. Çoğu programlama dilinde olduğu gibi
pythonda da index mantığı ile sıralama vardır. Yani diziler vb. şeyler index ile sıralanır ve
pythonda index her zaman 0’dan başlar. Yani “ali” stringinin [Link] a 1. İndexi l 2. İndexi de i’dir.
Herhangi bir stringin yani karakter dizisinin istediğiniz bir elemanına erişmek istiyorsak bu yolla
erişebiliriz. Mesela yine aynı örnekten ilerleyecek olursak “ali” stringinin ‘i’ elemanına ulaşmak
istiyoruz. Bunun için “ali” stringinin 2. indexini yani 3. elemanını çağırıyoruz. Bunu da “ali”[2]
şeklinde yapıyoruz.
String Parçalama: Uzun bir stringin sadece belirli bir yerini almak istiyorsak string
parçalama yapmalıyız. Parçalama yapmak için kullanacağımız formül stringimize
metin diyecek olursak metin{başlangıç(dahil):bitiş(dahil değil) : atlama değeri]
şeklindedir. Atlama değeri girilmezse 1 olarak alınır. Eğer sadece bir tane : ifadesi
varsa bu formüldeki ilk ‘:’ olarak yani başlangıç ile bitiş değeri arasındaki ‘:’ ifadesi
olarak alınır ve eğer böyle yapılırsa atlama değeri verilmediğinden 1’e eşit olur.
Formülde de yazdığı üzere başlangıç dahil iken bitiş değeri dahil değildir. Ayrıca string
içindeki boşluklarda stringe dahil olduğundan boşluklarda string içindeki bir
karakterdir. Yani boşluklarda hesaba katılmalıdır.
String Uzunluğu Hesaplama: Bir stringin uzunluğunu hesaplanak için len()
fonksiyonunu kullanıyoruz. Uzunluğunu hesaplamak istediğiniz stringi len fonksiyonu
içine alarak uzunluğunu ölçebiliyoruz.
Stringlerde Toplama: Stringlerde toplama yaparsak stringler uc uca eklenir ve yeni
değer döndürülür.
[Link] Tipi Dönüşümleri
Bazen bir değişkenin veri tipini değiştirmek isteyebiliriz. Mesela bir sayımız var ama string veri
tipinde. Bu string tipindeki sayıyı int tipine çevirmemiz gerekebilir. Bunun içinde veri tipleri
arasında dönüşümü yapmalıyız.
Tam Sayıyı Ondalıklı Sayıya Çevirme: Tam sayıdan yani int tipinden, ondalıklı sayıya
yani float tipine dönüştürmektir. Bunun için int tipindeki değişkeni veya değeri float()
fonksiyonuna alabiliriz.
Resimdeki örnekte görüldüğü üzere float() fonksiyonu içine yazılan değişkenler ondalıklı hale
gelmiş.
Ondalıklı Sayıyı Tam Sayıya Çevirme: Bu seferde float tipinden int tipine çevirme
yapıyoruz. Çevireceğimiz tip int tipi olduğu için bu seferde sayıyı veya değişkeni int()
fonksiyonu içine alıyoruz.
Sayıları Stringe Çevirme: Bir sayıyı stringe yani metine, karakter dizisine çevirmek
istiyorsak çevireceğimiz tip string olduğu için str() fonksiyonu içine alabiliriz.
Sayıyı stringe çevirdikten sonra stringlerde öğrendiğimiz özellikleri kullanabiliriz. Ayrıca yukarıdaki
görselde görüldüğü üzere ondalıklı sayıları da str() fonksiyonu ile string tipine çevirebiliyoruz.
Stringi Tam Sayıya Çevirme: En çok kullanılan yöntemlerden biri String tipini sayıya
hatta tam sayıya çevirmedir. Bu işlemi de çevirmek istediğimizi değişkeni veya değeri
int() fonksiyonu içine alarak yapıyoruz. Ama bu işlemi yaparken bazı şeylere dikkat
etmemiz gerekiyor. Çünkü her stringi inte çeviremeyiz. Int tipine çevirmek istediğiniz
stringin bütün karakterleri rakam olmalıdır. String içindeki boşluklarda bir karakter
olarak sayıldığı için inte çevirmek istediğimiz stringe boşluk da olmamalıdır. Sadece
rakamlardan oluşmalıdır.
Görselde görülüğü üzere içinde boşluk olan ve içinde rakam olmayan ifadeler çevrilemiyor.
Stringi Ondalıklı Sayıya Çevirme: Bunu yapabilmemiz içinde stringin float tipine
dönüştürülebilir olmalıdır.
[Link] Fonksiyonu
Print fonksiyonu en temel fonksiyonlardan birisidir. Bu fonksiyon ile ekrana, konsola bir değer
yazdırabiliriz.
Jupyter Notebook gibi düzenleyicilerde bu fonksiyonu kullanmaya gerek kalmıyor. Çünkü direkt
değeri yazsanız da yazdırıyor. Ama bir dosyaya python yazarken öylece yazdırmaz. İşte bunun için
print fonksiyonunu kullanıyoruz.
Print Fonksiyonu Özellikleri
Birden Fazla Değer Yazdırma: Tek bir print fonksiyonu ile birden fazla değer
yazdırabiliriz. Bunun için yapmamız gereken sadece print içinde yazdıracağımız
değerler arasına virgül koymak.
Birden Fazla Değerin Aralarına İşaret Koyma: Eğer print fonksiyonu içinde virgülle
ayırarak birden fazla değer yazdırdıysanız çıktıda bu değerler arasında boşluk
görmüşsünüzdür. Eğer bu değerler arasına boşluk yerine istediğimiz herhangi bir
string değeri koymak istiyorsak bunun için print fonksiyonu içinde ,sep=”değerler
arasına koyulacak string değer” şeklinde yazmalıyız.
[Link] Özel Karakterler
Stringlerde bazı özel karakterler vardır ve kullanıldıkları yerlerde bazı işlemler yaparlar.
\n: String içinde bu karakteri kullanırsak kullanıldığı yerde alt satıra geçer.
\t : String içinde kullanıldığı yerde bir tab boşluk yani 4 boşluk bırakır.
1.10. Type() Fonksiyonu
Bu fonksiyon bize içine yazdığımız değerin veri tipini döndürür. Bir değişkenin hangi tipte
olduğunu öğrenmek istiyorsak kullanabiliriz.
1.11. Formatlama
Eğer bir string içinde daha önceden tanımlı değerleri kullanmak istiyorsak formatlama yapmalıyız.
Formatlama yaparak daha önceden tanımlı değişkenleri veya değerleri stringinin içinde
kullanabiliriz. Bu işlem için format() fonksiyonunu kullanacağız. Bu fonksiyonu daha önceden
tanımlı değerleri kullanmak istediğimiz stringin nokta ile uzantısı olarak alacağız. Daha sonrada
stringimizde değişkenleri kullanmak istediğimiz yerlere {} bırakacağız ve string bittikten
sonra .format() fonksiyon uzantısının içine yazdığımız değer veya değişken string içinde ki ilk {}
ifadesi yerine geçecek. Birden fazla kullanmak istiyorsak birden fazla {} bırakıyoruz ve format
fonksiyonu içinde de virgülle ayırarak sırayla ikinci {} ifadesinin yerine geçmesini istediğimiz
değeri yazıyoruz. Mesela aşağıdaki görseldeki gibi
Ayrıca yukarıdaki görselin alt kısmından anlaşılacağı üzere {} ifadesi içine format fonksiyonu içine
yazdığımız değerlerin indexini yazarak karışık da yazdırabiliyoruz.
1.12. Listeler
İçerisinde birden fazla değişkeni veya değeri tutan veri tipleridir. Stringler gibi indexlenebilirler ve
parçalanabilirler. Listelerin herhangi bir elemanı direkt olarak değiştirilebilir.
Liste Oluşturma: Liste oluşturmak için [] parantezlerini kullanmalıyız. [] parantezleri
içine yazdığımız her eleman listemizin bir elemanıdır. Listeye birden fazla eleman
koymak için elemanları virgül ile ayırmalıyız.
Görselde de görüldüğü üzere listeye istediğimiz veri tipinden değerler koyabiliriz. Eğer []
parantezleri arasına bir eleman koymazsak boş bir liste olur.
Liste Uzunluğunu Alma: Stringlerde olduğu gibi len() fonksiyonu içine yazılan listenin
uzunluğunu alabiliriz.
Listelerde İndexleme: Listenin içinden istenilen bir elemana ulaşmak için o elemanının
indexini [] içine yazarak çağırabiliriz.
Listelerde Parçalama: Eğer listenin elemanlarının bir kısmını almak istiyorsak bunun
için parçalama yapmalıyız. Burada da işlem aynı stringlerde olduğu gibidir.
Formülümüz liste[başlangıç indexi [dahil]: bitiş indexi [dahil değil]: atlama değeri]
şeklindedir. Başlangıç indexini dahil ederek başla bitiş indexini almadan biter ve eğer
girilmişse atlama değeri kadar atlayarak gider. Eğer atlama değeri yoksa atlama
değeri 1 olarak alınır. Sadece bir tane : ifadesi varsa bu ilk : ifadesi olarak yani
başlangıç ile bitiş arasındaki : ifadesi olarak alınır.
Listelerde Temel İşlemler
İki listeyi toplarsak bu iki liste yan yana eklenir.
Listenin bir elemanını çağırıp o elemana başka bir değer atayabiliriz.
Bir listenin elemanı olarak bir liste verebiliriz. Yani iç içe liste tanımlayabiliriz.
Listelerde Metotlar
Metot: Birçok veri tipi üzerinde uygulanabilen değişik işlemler yapan fonksiyonlardır.
Metotlar her zaman bir liste adıyla nokta uzantısından sonra yazılırlar. Mesela
[Link] şeklinde.
Append Metodu: Bu metodu kullanarak listemizin en sonuna değer ekleyebiliriz.
Bunun için [Link](eklenecek değer) şeklinde yazıyoruz.
Pop Metodu: Bu metot ile de istediğimiz indexteki elemanı listeden çıkarıyoruz.
Ayrıca bu metot istenilen elemanı çıkarırken aynı zamanda ekrana da basıyor.
İstediğimiz indexi çıkarmak için metodun içine index numarasını veriyoruz. Eğer içine
bir index vermezsek de otomatik olarak listenin son elemanını atıyo
Insert Metodu: İçine verdiğimiz sayıyı herhangi bir indexe eklememizi sağlar. Bunun
içinde bu metot içine önce eklenecek indexi sonrada eklenecek elemanı seçiyoruz.
Sort Metodu: Bu metot ile listemizi sıralı hale getirebiliriz. Eğer sayılardan oluşan bir
listemizde bu metodu kullanırsak listemiz küçükten büyüğe doğru sıralanır. Ayrıca bu
metot direkt olarak listemizi değiştirir.
Eğer tam tersi şekilde sıralanmasını istiyorsak yani büyükten küçüğe bu sefer metot içine reverse=
True yazmamız gerekiyor.
Eğer stringlerden oluşan bir listeye bu metodu uygularsak listeyi alfabetik sıraya göre dizer. Eğer
ters alfabetik sıra istiyorsak da yukarıdaki gibi metodun içine reverse = True yazmamız gerekiyor.
İndex Metodu: Üzerinde kullanılan listede içine verilen elemanı arar ve bulduğu ilk
indexi döndürür.
Count: İçine verilen değerin üzerine kullanılan liste içinde kaç tane olduğunu
döndürür.
1.13. Tuplelar
Tuple aynı liste gibi içerisinde birden fazla eleman barındırabilen bir veri tipidir. Listelerden en
temel farkı ise Tuplenin herhangi bir elemanı değiştirilemez. İşte bu yüzden değiştirilmesi
istenilmeyen verileri depolamadan kullanılır.
Tupleda bir elemana erişmek için listede olduğu gibi indexleme kullanıyoruz. Eğer
parçalamak istersek de yine listelerde olduğu gibi parçalama yapabiliriz.
1.14. Sözlüler (Dictionary)
Sözlük veri tipi gerçek hayattaki sözlüğe benzer yapıdadır. Gerçek bir sözlük de nasıl iki değer iki
değişken eşleşmişse buradaki sözlüklerde aynıdır. Buradaki sözlüklerde ise anahtar(key) ,
değer(value) eşleşmesi vardır. Her değerin o değeri çağırabilelim diye bir keyi vardır. Burada
indexleme yoktur onun yerine az önce yazdığım gibi key ile çağırma vardır.
Sözlük Oluşturma: Sözlük oluşturmak için {} parantezlerini kullanıyoruz. Bu
parantezler içine key value eşleşmesi yapıyoruz ve eğer birden fazla elemanımız varsa
virgül ile ayırıyoruz.
Sözlükden Değer Çağırma: Sözlükden değer çağırırken [] parantezleri içine key ismini
yazıyoruz ve oda yazdığımız key eğer o sözlükde varsa o keye atadığımız valueyi yani
değeri getiriyor.
Sözlüklere sonradan dinamik olarak da keyini vererek değer ekleyebiliyoruz.
Bir sözlüğün sadece anahtarlarını almak için keys() metodunu kullanıyoruz.
Bir sözlüğün sadece değerlerini almak için de values() metodunu kullanıyoruz.
Bir sözlüğü key-value olarak tuplelere ayırmak için items metodunu kullanıyoruz.
1.15. Input Fonksiyonu
Input fonksiyonu kullanıcıdan girdi almamıza sağlar. Bu fonksiyonu kullanarak kullanıcıdan değer
alabiliriz. Bunu yapabilmek için sadece input() yazabiliriz. Böylece kolay bir şekilde girdi alabiliriz.
Unutmamamız gereken bir şey var oda input fonksiyonunun her zaman string değer getirmesi.
Yani kullanıcı bir sayı bile girse bu string olarak geliyor.
Ama tabii farklı şekillerde de kullanabiliriz. Mesela fonksiyonun içine bir şey yazarsak girdi alırken
yazdığımız şeyde görünüz.
Eğer kullanıcının girdiği değeri tutup daha sorna da kullanmak istersek input
fonksiyonunu bir değişkene atarak kullanabiliriz. Bu sayede fonksiyon çalışıp bizden
bir değer istediğinde girdiğimiz değer atadığımız değişkene atanır.
Eğer kullanıcıdan bir sayı aldıysak ve bu sayıyla işlem yapmak istiyorsak girilen değeri
inte çevirmeliyiz. Çünkü input fonksiyonu her zaman string getirir. Bu yüzden eğer
girilen değer sayıysa ve işlem yapacaksak inte çevirip yapmalıyız.