The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by doğukan koçan, 2023-01-23 00:28:18

Python eğitimi

Python eğitimi

B A S İ T , S Ü R Ü K L E Y İ C İ V E Ö Ğ R E T İ C İ TÜM YAŞ GRUPLARI İÇİN UYGUNDUR C O D E L İ P S E - 2 0 2 3


2 Gereksinimler Başlangıç Seviyesinde Bilgisayar Kullanabilme İnternette araştırma yapabileceğiniz bir Bilgisayar Yazılım Geliştirme Konusunda İstek ve Arzu Öğrenecekleriniz Programlama temelleri Python ile temel seviyede projeler geliştirmeyi Temel seviyede algoritma yapısı


3 Önsöz Merhabalar değerli okuyucumuz. Bu kitap en sade şekilde, sizi ileriye taşıyacak yöntemleri teşvik edecek şekilde tasarlanmıştır. Dijital kitabımıza başlamadan önce birkaç önerimiz olacak. Bunlar sırasıyla; -Kitapta karşılaştığınız her terim üzerinde mutlaka durun. Önce bi google taraması yapın. Daha sonra birkaç video izlemeyi deneyin. Ardından ufak çaplı denemelerde bulunun ve gördüğünüz örnek kodları yaratıcılığınızla değiştirmeyi deneyin. Unutmayın en iyi öğrenme yolu pratik yapmaktan geçer. Belki yüzlerce binlerce denemeler yapacaksınız. O yüzden sabırlı bir şekilde pratik yaparak ilerlemeye odaklanmanız sizi başarıya götürecektir Ayrıca her bölüm sonunda bulunan ödevleri mutlaka yapmaya çalışmalısınız.


Bu Kitap Size Ne Kazandıracak Bu kitap, sıkıcı ve uzun anlatımdan ziyade kısa, öz ve anlaşılır biçimde tasarlanmıştır. Özellikle 100' e yakın örnek kod parçacığı ile detaylandırılarak size aşinalık sağlayacaktır. Pratik odaklı olmasından kaynaklı sıkılmadan tamamlayacaksınız. Python dilinde kullanılan temel prensiplere hakim olacak, üst seviye donanıma sahip olmak için çıkmanız gereken merdivenleri çıkacaksınız. Daha önce Python dilinde bilginiz olsa dahi bu eğitim size bilgilerinizi yenileme konusunda yardımcı olacak, örnek çözümlerle pratik yapma seviyenizi arttıracak. Alan veya dil seçiminden bağımsız, programlama temellerini kavrayacaksınız. Bu sayede yeni teknolojiler öğrenirken öğrenim süreciniz kolaylaşacaktır. 4


Konu Başlıkları Değişkenler ve Veri Tipleri Operatörler ve İfadeler Koşullu İfadeler Döngüler Fonksiyonlar List ve Tuples yapısı Dictionaries Modüller ve Paketler Dosya İşlemleri Hata tespiti Nesneye Y. Programlama Pratiğe Yönelik Alıştırmalar 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Sayfa 4 - 8 9 - 12 13 - 15 17 - 19 20 - 24 25 - 27 28 - 29 30 - 32 33 - 36 37 - 40 41 - 43 43 - 55 5


Integer: Tamsayılar pozitif, negatif veya sıfır olabilen tüm sayılardır. Python 'da, tamsayıları depolamak için int veri türünü kullanabilirsiniz. Örneğin: Python 'da bir değişken, bellekte bir değer saklanan bir adlandırılmış konumdur. Değişkenleri, sayılar, dizeler ve hatta daha karmaşık veri yapıları olarak listeden ve sözlüklerden oluşan verileri depolamak için kullanabilirsiniz. Python 'da kullanabileceğiniz birkaç farklı veri türü vardır. Bunların en yaygın olanları şunlardır: 6 Değişkenler ve Veri Tipleri


Float: Ondalıklı sayılar, ondalık noktaları olan sayılardır. Python 'da, ondalıklı sayıları depolamak için float veri türünü kullanabilirsiniz. Örneğin: 7 Değişkenler ve Veri Tipleri Dizeler: Dizeler, kelime veya cümleler gibi karakterlerin dizisidir. Python 'da, dizeleri depolamak için str veri türünü kullanabilirsiniz. Dize tanımlamak için tek veya çift tırnak kullanabilirsiniz. Örneğin:


Python 'da ayrıca listeden, çiftlerden ve sözlüklerden oluşan daha karmaşık veri yapılarını depolamak için kullanılan diğer veri türleri de vardır. Python 'da bir değişkene bir değer atamak için, eşit işareti (=) kullanabilirsiniz. Ayrıca, değişkenler üzerinde işlemler yapabilir ve sonucu yeni bir değişkene atayabilirsiniz. Örneğin; 8 Değişkenler ve Veri Tipleri Burada x değişkeninin değeri 10, y değişkeninin değeri 5, z değişkeninin değeri 15 olur.


9 Değişkenler ve Veri Tipleri Şimdide aşağıda bulunan kodların çıktılarıyla birlikte analiz edin. Daha sonra kendiniz deneyin ve farklılaştırarak ne gibi sonuçlar elde edilebiliyor deneyimleyin. -Aşağıdaki kod bloklarının inceleyiniz. 1. 2. x = 10 y = 5.5 z = 'hello ' print(x + y) print(x + z) 15.5 TypeError x = '5' y = 5 z = x + y print(z) TypeError Girdi Çıktı


10 Değişkenler ve Veri Tipleri 3. 4. x = '5' y = int(x) z = y + 5 print(z) 10 x = 5 y = 10 print(x == y) print(x > y) print(x < y) False False True 5. x = 'hello ' y = ' world' z = x + y print(z) helloworld İlk konuyu tamamladın. Deneyimlerin nasıldı peki? @codelipse etiketiyle hikayende paylaşarak değerlendirebilirsin. Hadi devam edelim.


11 Operatörler ve İfadeler +: Toplama -: Çıkarma *: Çarpma /: Bölme %: Mod (bölümden kalan) **: Üs alma //: Tam bölme (bölümden kalanı atlar) Python 'da operatörler, veriler arasındaki işlemleri gerçekleştirmek için kullanılan simgelerdir. Örneğin, toplama işlemi için + operatörünü, çıkarma işlemi için - operatörünü, çarpma işlemi için * operatörünü ve bölme işlemi için / operatörünü kullanabilirsiniz. Aşağıda Python 'da kullanılabilecek bazı operatörlerin bir listesi verilmiştir: Bu operatörleri, veriler arasındaki işlemleri gerçekleştirirken kullanabilirsiniz. Alt kısımda kod üzerinde örneklerle belirtilmiştir:


12 Operatörler ve İfadeler Python 'da atama operatörleri, bir değişkene bir değer atarken kullanılır. Bu operatörler, bir değişkeni bir değerle eşitlerken kullanılır. Örneğin: Bu operatörler, ayrıca bir değişkenin değerini değiştirirken de kullanılabilir. Alt kısımda inceleyebilirsiniz: Python 'da ayrıca çoklu atama operatörleri de vardır. Bu operatörler, bir değişkene birden fazla değer atarken kullanılır. Örneğin:


13 Operatörler ve İfadeler Atama operatörleri, ayrıca bir değişkenin değerini bir koşula göre değiştirirken de kullanılabilir. Bu örnekte, x değişkeninin değeri bir koşula göre değiştirilmiştir. Eğer x 0'dan büyükse, x 2 ile çarpılır. Örneğin:


14 Operatörler ve İfadeler x ve y değişkenlerinin değerlerini toplayıp sonucu z değişkenine atayın. (z = x + y) x ve y değişkenlerinin değerlerini çıkarıp sonucu z değişkenine atayın. (z = x - y) x ve y değişkenlerinin değerlerini çarparak sonucu z değişkenine atayın.(z = x * y) x ve y değişkenlerinin değerlerini bölerek sonucu z değişkenine atayın.(z = x / y) Şimdi ise alt kısımda verilen cevapları parantez içinde belirtilen soruları kendiniz yazmayı deneyin. Ardından değiştirerek farklı şekillerde çıktılar alın. 1. 2. 3. 4.


Bir koşulun doğru ya da yanlış olmasına göre farklı kod bloğunun çalıştırılmasını sağlar. Python dilinde, koşullu ifadeler için "if" , " elif" ve " else " anahtar kelimeleri kullanılır. "if" anahtar kelimesi ile başlayan koşullu ifade, bir koşulun doğru olup olmadığını test eder. Eğer koşul doğru ise, ifade içinde yer alan kod bloğu çalıştırılır. Örnek olarak: 15 Koşullu İfadeler " elif" anahtar kelimesi, bir önceki "if" koşulunun yanlış olması durumunda koşul testi yapar. Eğer koşul doğru ise, elif bloğu içindeki kod çalıştırılır. Örnek olarak:


" else " anahtar kelimesi ise, tüm önceki koşulların yanlış olması durumunda çalıştırılacak kod bloğunu belirtir. Örnek olarak: 16 Koşullu İfadeler Aşağıdaki Python kodunun çıktısı nedir? Not: Python dilinde, koşullu ifadelerin yapısında " : " ve koşullu ifadelerin içinde yer alan kod bloğunun bir alt satıra indirilmesi gerekir. Örnek sorular; 1. Çıktı: " x 5'ten büyüktür "


2.Aşağıdaki Python kodunun çıktısı nedir? 17 Koşullu İfadeler Çıktı: " x 3' e eşittir " 3.Aşağıdaki Python kodunun çıktısı nedir? Çıktı: " x çifttir " 4.Aşağıdaki Python kodunun çıktısı nedir? Çıktı: "Ahmet ve 20 yaşındadır "


Loops (döngüler), bir kod bloğunun tekrar tekrar çalıştırılmasını sağlar. Python dilinde, iki tür döngü vardır: " while " düngüsü ve "for " döngüsü. " while " döngüsü, bir koşul doğru olduğu sürece kod bloğunu tekrar tekrar çalıştırır. Örnek olarak: 18 Döngüler Bu örnekte, " x " değişkeni 0'dan başlar ve her döngüde 1 artırılır. Koşul " x < 5" olduğu sürece, döngü devam eder ve " x " değerini ekrana yazdırır. Bu örnekte, çıktı "0 1 2 3 4" olacaktır. "for " döngüsü ise, bir iterable (örneğin bir liste) üzerinde döner ve her bir elemanı tek tek işler. Örnek olarak: "for " döngüsü " number " değişkenine her bir elemanı sırayla atar ve çıktı "1 2 3 4 5" olur.


Not: Python dilinde, döngü yapısında " : " ve döngü içinde yer alan kod bloğunun bir alt satıra indirilmesi gerekir. Ayrıca, döngü içinde kod bloğunun kaç kere çalıştırılacağını belirleyen koşul mutlaka yazılmalıdır, aksi halde döngü sonsuz bir döngüye girer ve program tepki vermez hale gelir. Çözümlü Örnekler; 1.Aşağıdaki Python kodunun çıktısı nedir? 19 Döngüler 2.Aşağıdaki Python kodunun çıktısı nedir? Çıktı: "0 1 2 3 4" Çıktı: "1 2 3 4 5"


3.Aşağıdaki Python kodunun çıktısı nedir? 20 Döngüler 4.Aşağıdaki Python kodunun çıktısı nedir? Çıktı: "H e l l o " Çıktı: "0: 1 1: 2 2: 3 3: 4 4: 5" Sizde yukarıdaki örneklerin çalışma aşamalarını pythontutor websitesinden adım adım analiz edebilirsiniz. Sitede her satırın ve döngünün her çalışmasını gösteren kısım bulunmakta zorlandığınız zaman kullanmanız size fayda sağlayacaktır.


Functions (fonksiyonlar), bir kod bloğunu bir kez yazıp, istediğimiz zaman tekrar tekrar çağırabileceğimiz yapıları temsil eder. Python dilinde, fonksiyonlar "def" anahtar kelimesi ile tanımlanır. Örnek olarak: 21 Fonksiyonlar Bu örnekte, " greet()" fonksiyonu " name " adlı bir parametre alır ve ekrana "Merhaba, [name]!" yazdırır. Fonksiyonu çağırdığımızda, parametre olarak verdiğimiz değerler kullanılarak fonksiyon çalıştırılır.


Bu örnekte, " add()" fonksiyonu iki sayıyı toplar ve sonucu " result" değişkenine atar. Sonra " return result" satırı sayesinde, fonksiyonun çalıştırıldığı yerde " result" değişkeninin değerini alırız. Fonksiyonlar ayrıca, varsayılan değerleri olan parametreler de alabilir. Örnek olarak bir sonraki sayfada bulunan kod bloğunu inceleyelim; Fonksiyonlar ayrıca, bir değer döndürebilir. Bu durumda, fonksiyonun içinde " return " anahtar kelimesi kullanılır. Örnek olarak: 22 Fonksiyonlar


Bu örnekte, " greet()" fonksiyonu " name " adlı zorunlu bir parametre alır ve " greeting " adlı bir değişkeni varsayılan olarak "Merhaba " olarak ayarlar. Eğer fonksiyonu çağırırken " greeting " parametresine değer verirsek, varsayılan değer yerine verdiğimiz değer kullanılır. Bir başka örnek olarak iki sayının toplamını dönen fonksiyon: 23 Fonksiyonlar Burada add fonksiyonu iki parametre alır. Bu iki parametreyi ana kod bloğunda çağırır ve içine değer verirsiniz. Sonucunda size toplam değeri dönecektir.


Aşağıdaki çözümlü örnekleri inceleyin ve satır satır ne işe yaradığını yorumların; 1.Aşağıdaki kod bloğu hangi hatayı verir? 24 Fonksiyonlar Cevap: Bu kod bloğu, "TypeError: greet() missing 1 required positional argument: ' name '" hatası verir. Bu, greet fonksiyonunun çağrılırken bir parametre gönderilmediği için oluşur. 2.Aşağıdaki kod bloğunda bir hata var mıdır? Eğer var ise, hangisidir? Cevap: Bu kod bloğunda bir hata vardır. "TypeError: add() missing 1 required positional argument: ' y '" hatası verir. Bu, add fonksiyonunun çağrılırken ikinci parametrenin gönderilmediği için oluşur.


Cevap: Bu kod bloğunda bir hata vardır. "ZeroDivisionError: division by zero " hatası verir. Bu, divide fonksiyonunun ikinci parametresinin sıfır olduğu için oluşur. Bu hatayı önlemek için, y parametresinin sıfır olup olmadığını kontrol etmelisiniz ve eğer sıfır ise bir hata mesajı döndürmelisiniz veya bir varsayılan değer döndürmelisiniz. 3.Aşağıdaki kod bloğunda bir hata var mıdır? Eğer var ise, hangisidir? 25 Fonksiyonlar


Listeler, bir dizi indeks numarası ile erişilebilir. Python 'da, diziler 0'dan başlar ve her bir elemanın indeks numarası bir azalır. Örneğin, bir liste içindeki ilk elemanın indeks numarası 0, ikinci elemanın indeks numarası 1 ve böyle devam eder. Örneğin: Python 'da, bir liste bir veri türüdür ve birden çok değer içerebilir. Listeler, noktalı virgülle ayrılmış değerler arasında virgül kullanılarak oluşturulur. Örneğin: 26 List ve Tuples Yapısı


Python dilinde Tuple yapısı, bir listeye benzer bir veri türüdür, ancak tupleler değiştirilemez veri türleridir. Yani, tuplelerin elemanları değiştirilemez veya eklenemez veya çıkarılamaz. Tupleler, noktalı virgülle ayrılmış değerler arasında parantez kullanılarak oluşturulur. Örneğin: Listeler, değiştirilebilir veri türleridir ve değerleri değiştirilebilir, eklenebilir veya çıkarılabilir. Örneğin: 27 List ve Tuples Yapısı


28 List ve Tuples Yapısı Tupleler, bir dizi indeks numarası ile erişilebilir ve aynı şekilde listeler gibi işlev görür. Ancak, tuplelerin elemanları değiştirilemez. Örneğin: Tupleler, listelerden daha hızlıdır ve daha az bellek kullanırlar, ancak listeler daha esnek ve kullanışlıdır. Genellikle, tupleler verilerin değiştirilmemesi gereken durumlarda kullanılır, örneğin, bir sözlük anahtarı olarak. Listeler ise, verilerin sıklıkla değiştirilmesi gereken durumlarda kullanılır. Şu hata mesajı alınır; TypeError: 'tuple ' object does not support item assignment


29 Dictionaries Dictionaries (Sözlükler), Python 'da kullanılan anahtar-değer ikililerine dayalı veri yapılarıdır. Sözlükler, bir anahtar ile bir değer arasındaki ilişkiyi temsil eder. Anahtarlar, sözlüklerdeki verilere erişmek için kullanılır ve değerler, anahtarlarla ilişkili olan verilerdir. Dictionaries yapısı, aşağıdaki gibi kullanabilir: Dictionaries, listelerden farklı olarak, elemanlarını anahtar değerlerine göre sıralı değillerdir. Sözlükler, hızlı bir şekilde verilere erişmek için kullanılır çünkü anahtarlar, verilere doğrudan erişmek için kullanılır.


30 Dictionaries Kullanabileceğiniz özelliklerle ilgili örnekler;


Modülleri ve paketleri içe aktarmak, Python programlarınızda diğer Python dosyalarından ve kütüphanelerden kod içe aktarmak ve kullanmak için kullanılan yapılardır. Bu sayede, tekrar tekrar kullanılan kod parçalarının tek bir yerde saklanmasına ve değiştirilmesine imkan verir. Ayrıca, kodunuzu daha organize etmenize yardımcı olurlar. Modülleri içe aktarmak için "import" ifadesini, paketleri içe aktarmak için ise "from " anahtar kelimesini kullanarak daha spesifik bir ifade kullanabilirsiniz. Örnek olarak: 31 Modüller ve Paketler


Modülleri ve paketleri içe aktardıktan sonra, içe aktarılan öğeleri kullanmak için modül veya paket adını kullanarak erişebilirsiniz. Örneğin; 32 Modüller ve Paketler İnceleyebileceğiniz bazı örnekler;


Bu örneklerde, " math" modülünü içe aktardık ve " pi" değişkenini ve " sin()" fonksiyonunu kullandık. Daha sonra, " random " paketini içe aktardık ve " randint()" , " uniform()" , " choice()" ve " shuffle()" gibi fonksiyonları kullandık. Modüller ve Paketler Module_1 Class_a Paketler Class_ b Module_2 Class_c Class_ d Module_1 Module_2 33


" r " (okuma): Varsayılan mod. Dosyayı okuma modunda açar. Eğer dosya mevcut değilse, bir FileNotFoundError hatası alırsınız. " w " (yazma): Dosyayı yazma modunda açar. Eğer dosya mevcut değilse, dosya oluşturulur ve açılır. Eğer dosya zaten mevcutsa, üzerine yazılır ve içeriği silinir. " a " (ekleme): Dosyayı ekleme modunda açar. Eğer dosya mevcut değilse, dosya oluşturulur ve açılır. Dosya mevcutsa, içeriğine ekleme yapılır, ancak mevcut içerik silinmez. Python 'da dosyaları okuma ve yazma işlemleri genellikle open fonksiyonu kullanılarak gerçekleştirilir. Öncelikle, dosyayı açmak için open fonksiyonunu kullanırsınız. Dosya adı ve dosya işlemlerinin hangi modda gerçekleştirileceğini belirten bir mod argumenti ile birlikte çağırılır. Örneğin: f = open("dosya_adi.txt" , " r ") Bu kod, dosya_adi.txt adında bir dosyayı okuma modunda açar. Eğer dosya mevcut değilse, bir FileNotFoundError hatası alırsınız. Dosya modları şunlardır: Dosyayı kapatmak için close metodunu kullanabilirsiniz. Örneğin: f.close() Input and output 34


Dosyayı okuma işlemi için read metodunu kullanabilirsiniz. Bu metod dosyanın tüm içeriğini bir dize olarak döndürür. Örneğin: dosya_icerigi = f.read() print(dosya_icerigi) Dosyayı satır satır okuma işlemi için readline metodunu kullanabilirsiniz. Bu metod bir satır okur ve satırı bir dize olarak döndürür. Örneğin: satir = f.readline() print(satir) Dosyayı satır satır okuma işlemi için for döngüsü de kullanabilirsiniz. Örneğin: for satir in f: print(satir) Bu kod satır satır f dosyasını okur ve her bir satırı ekrana yazar. Dosyayı yazma işlemi için write metodunu kullanabilirsiniz. Bu metod dosyaya verilen dizgeyi yazar. Örneğin: f = open("dosya_adi.txt" , " w ") f.write("Bu bir deneme satırıdır. ") f.close() Input and output 35


Üst kısımdaki kod bloğu dosya_adi.txt dosyasını yazma modunda açar ve "Bu bir deneme satırıdır. " dizgesini dosyaya yazar. Sonra dosyayı kapatır. Dosya işlemleri bittikten sonra mutlaka dosyayı kapatmanız önerilir. Bunu yapmazsanız, dosya işlemleri tamamlanmayabilir ve dosya bozulma riskiyle karşı karşıya kalabilirsiniz. Çözümlü örnekler; Input and output 36 1. " veriler.txt" adlı dosyayı okuma modunda açın ve içeriğini ekrana yazdırın. f = open(" veriler.txt" , " r ") veriler = f.read() print(veriler) f.close() 2. " yazilacak _ veriler.txt" adlı dosyayı yazma modunda açın ve "Bu bir deneme satırıdır. " dizgesini dosyaya yazın. f = open(" yazilacak_veriler.txt" , " w ") f.write("Bu bir deneme satırıdır. ") f.close()


Input and output 37 4. " satirlar.txt" adlı dosyayı satır satır okuyun ve her satırı ekrana yazdırın. f = open(" satirlar.txt" , " r ") for satir in f: print(satir) f.close() 5. " sayilar.txt" adlı dosyada yer alan sayıları toplayın ve sonucu ekrana yazdırın. f = open(" sayilar.txt" , " r ") toplam = 0 for satir in f: toplam += int(satir) print(f"Toplam: {toplam}") f.close() 3. " mevcut _ veriler.txt" adlı dosyayı ekleme modunda açın ve "Bu bir deneme satırıdır. " dizgesini dosyaya ekleyin. f = open(" mevcut_veriler.txt" , " a ") f.write("Bu bir deneme satırıdır. ") f.close()


Hata Tespiti 38 Exception handling, Python programlarında beklenmeyen durumlarla karşılaşıldığında programın çökmemesi için yapılan işlemdir. Örneğin, bir dosya okuma işleminde dosya mevcut olmayabilir, bu durumda bir FileNotFoundError hatası oluşur. Bu hatayı ele almak için exception handling kullanılır. Exception handling için try ve except bloğları kullanılır. Örneğin: Burada, dosya okuma işlemini yapan kod try bloğunda yer almaktadır. Eğer dosya mevcut değilse, FileNotFoundError hatası oluşur ve kod except bloğuna geçer. Bu bloğa girdiğinde, kullanıcıya "Dosya bulunamadı!" mesajı gösterilir. Eğer bir try bloğunda birden fazla tür hatanın oluşabileceğini düşünüyorsanız, birden fazla except bloğu kullanabilirsiniz. Örneğin:


Hata Tespiti 39 Burada, kullanıcıdan bir sayı girmesini istiyoruz. Eğer kullanıcı geçerli bir sayı giremezse, ValueError hatası oluşur ve kod except ValueError bloğuna geçer. Eğer kullanıcı işlemi iptal etmek isterse, KeyboardInterrupt hatası oluşur ve kod except KeyboardInterrupt bloğuna geçer. Eğer bir try bloğunda oluşabilecek tüm hataları ele almak istiyorsanız, Exception sınıfını kullanabilirsiniz. Örneğin; Burada, kullanıcıdan bir sayı girmesini istiyoruz. Eğer kullanıcı geçerli bir sayı giremezse, ValueError hatası oluşur. Eğer kullanıcı işlemi iptal etmek isterse, KeyboardInterrupt hatası oluşur. Ancak bu örnekte, except Exception bloğuna girdiğimiz için tüm hatalar bu bloğa düşer ve "Bir hata oluştu!" mesajı gösterilir. Exception handling 'i kullanarak, beklenmeyen durumlar karşısında programın çökmemesi sağlanır ve kullanıcıya hatanın ne olduğu hakkında bilgi verilebilir.


Hata Tespiti 40 Çözümlü sorular; 1.Bir fonksiyon yazınız ve bu fonksiyonun bir argümanı olarak bir sayı almasını sağlayın. Eğer argüman olarak girilen sayı 0' a bölünemezse, bir ZeroDivisionError hatası oluşturun ve mesajı "Sıfıra bölünemez " olarak yazdırın. 2.Bir dosya okumaya çalışırken IOError hatası oluşabileceğini düşünün. Bu durumda dosya adını ve hata mesajını ekrana yazdırın.


Hata Tespiti 41 3.Bir dictionary içinde bir anahtarın değerini almaya çalışırken KeyError hatası oluşabileceğini düşünün. Bu durumda, hatayı yönetmek için bir "default" değer belirtin ve ekrana yazdırın. *Kod kısımlarını satır satır deneyip üzerinde oynamalar yaparak oluşabilecek çıktıları analiz edebilirsiniz.


Nesneye Yönelik Programlama 42 Python 'da, nesneler ve sınıflar oluşturarak programlamaya " nesneye yönelik programlama " (OOP) adı verilir. OOP, bir programın yapısını ve işlevlerini modellenmek için kullanılan bir programlama paradigmasıdır. Bu yöntem sayesinde, benzer özellikleri olan nesnelerin bir sınıf üzerinden yönetilebilir ve yeniden kullanılabilir hale getirilebilirler. Bir sınıf, bir nesnenin tasarım şablonudur ve bir sınıftan oluşturulan nesne, o sınıfın özelliklerini ve işlevlerini taşır. Örneğin, bir "Köpek" sınıfı oluşturabilir ve bu sınıfın özellikleri cins, yaş, cinsiyet gibi özellikler olabilir. Bu sınıftan oluşturulan her bir "Köpek" nesnesi, bu özellikleri taşıyacaktır. Sınıfların özelliklerine "özellikler " (properties), sınıfların yaptıklarına ise " metodlar " (methods) denir. Örneğin, "Köpek" sınıfının bir "havla " metodu olabilir, bu metod sayesinde bir "Köpek" nesnesi havlar. Python 'da sınıflar, " class " anahtar kelimesi ile tanımlanır ve genellikle ilk harfleri büyük yazılır.


Nesneye Yönelik Programlama 43 Bu sınıftan bir nesne oluşturmak için, sınıfın adını kullanarak bir nesne oluşturmalısınız. Örneğin: Bu nesneler, oluşturulurken verilen özellikleri taşırlar. Tamam! Özelliklere nesnenin adını kullanarak erişebilirsiniz. Örneğin: Metodları da benzer şekilde çağırabilirsiniz. Örneğin:


Nesneye Yönelik Programlama 44 Sınıf (Class): Bir nesnenin tasarım şablonudur. Sınıflar, nesnelerin özelliklerini (properties) ve işlevlerini (methods) tanımlar. Nesne (Object): Bir sınıftan oluşturulan bir örnektir. Nesneler, sınıfın özelliklerini ve işlevlerini taşır. Özellik (Property): Bir sınıfın özelliğidir ve sınıfın veri alanlarını tanımlar. Örneğin, bir "Köpek" sınıfının özellikleri cins, yaş, cinsiyet gibi özellikler olabilir. Metod (Method): Bir sınıfın işlevidir ve sınıfın ne yaptığını tanımlar. Örneğin, bir "Köpek" sınıfının bir "havla " metodu olabilir, bu metod sayesinde bir "Köpek" nesnesi havlar. Bu örnekler temel anlamda mantığı belirtme amaçlı , aslında Nesneye Yönelik Programlama (OOP) oldukça geniş bir konu ve birçok özelliği ve yöntemi var. Örneğin, bir sınıftan türetilen sınıflar oluşturarak soyutlama yapabilir, sınıfların özelliklerine ve metodlarına erişimi kısıtlayabilir, vb. Eğer ilginizi çekti ise, OOP hakkında daha fazla bilgi edinmek isterseniz, ikinci serimizde daha geniş ve bol örneklerle açıkladık. Yinede fikir olması açısından altta bulunan terimleri detaylıca araştırabilirsiniz.


Pratiğe Yönelik Araştırmalar 45 1. Verilen bir liste içinde, yalnızca tek sayıları yazdırın. Bu kısımda verilen soruların kodlarını kendiniz deneyerek, analiz ederek değerlendirin. 2. Verilen bir sayının faktöriyelini hesaplayan bir fonksiyon yazın.


Pratiğe Yönelik Araştırmalar 46 3.Verilen iki sayı arasındaki tüm sayıların toplamını hesaplayan bir fonksiyon yazın. 4.Verilen bir sayının rakamlarının toplamını bulan bir fonksiyon yazın. Örneğin, 123 sayısının rakamlarının toplamı 6 olacaktır.


Pratiğe Yönelik Araştırmalar 47 5. Verilen bir metin dosyasının içeriğini satır satır okuyarak, her satırdaki kelime sayısını hesaplayan ve bu bilgileri bir sözlükte saklayan bir fonksiyon yazın. Sözlükte satır numaraları kelime sayılarını göstermelidir. Örneğin, dosya içeriği aşağıdaki gibi olsun: Sözlük şu şekilde olmalıdır: {1: 2, 2: 4, 3: 2}


Pratiğe Yönelik Araştırmalar 48 6. Verilen bir liste içinde en fazla tekrar eden elemanı bulan ve bu elemanın kaç kere tekrar ettiğini döndüren bir fonksiyon yazınız. Bu fonksiyonu kullanmak için, sadece aşağıdaki gibi bir çağrı yapın.


Pratiğe Yönelik Araştırmalar 49 7. Verilen bir sayı listesi içinde, en yüksek ve en düşük sayıyı bulun. Örneğin, [1, 7, 3, 8, 4] listesi için fonksiyon en yüksek sayı 8 ve en düşük sayı 1 değerlerini döndürmelidir. 8. Verilen bir sayı listesi içinde, sayıların toplamını döndüren bir fonksiyon yazın. Örneğin, [1, 2, 3, 4] listesi için fonksiyon 10 değerini döndürmelidir.


Pratiğe Yönelik Araştırmalar 50 9. Verilen bir sayı listesi içinde, sayıların ortalamasını döndüren bir fonksiyon yazın. Örneğin, [1, 2, 3, 4] listesi için fonksiyon 2.5 değerini döndürmelidir. 10. Verilen bir öğrenci listesi içinde, öğrencilerin not ortalamasına göre sıralayan bir fonksiyon yazın. Öğrenci listesi, öğrencinin adı, soyadı ve notlarını içeren tuple 'lar olarak verilir. Örneğin, [("Alice " , "Smith" , [90, 80]), ("Bob" , "Jones " , [50, 60])] listesi için fonksiyon, Alice 'in not ortalaması (85) ve Bob' un not ortalaması (55) değerlerine göre sıralanmış bir öğrenci listesi döndürmelidir. Cevap alt kısımdadır.


Click to View FlipBook Version