Python'a Giriş ve Kurulum

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Aşağıdakilerden hangisi Python programlama dilinin temel özelliklerinden biri değildir?

  • Yüksek okunabilirlik sağlaması
  • Dinamik kod yazım sürecini desteklemesi
  • Sadece belirli işletim sistemlerinde çalışabilmesi (correct)
  • Daha az sözdizimi istisnası içermesi

Aşağıdakilerden hangisi Anaconda Navigator üzerinde sunulan ve internet tabanlı olarak çalışan, program kurulumu gerektirmeyen Python arayüzlerinden biridir?

  • python.org arayüzü
  • Spyder
  • JupyterLab (correct)
  • PyCharm

Python'da bir projenin yazım kısmının yapıldığı ve kod satırlarının yazıldığı alan aşağıdakilerden hangisidir?

  • Editor (correct)
  • Plots
  • Variable Explorer
  • Console

Python'da bir karakter dizisi içinde yer alan özel bir karakteri benzersiz bir şekilde yorumlamak ve ekrana yazdırmak için kullanılan yöntem aşağıdakilerden hangisidir?

<p>Kaçış Sırasını kullanmak (B)</p> Signup and view all the answers

Aşağıdakilerden hangisi değişken adlandırma kurallarından değildir?

<p>Değişken adları rakamlarla başlamalıdır. (D)</p> Signup and view all the answers

Python'da dizeleri (string) belirtmek için hangi işaretler kullanılmalıdır?

<p>Tek (' ') veya çift (&quot;) tırnak (A)</p> Signup and view all the answers

Python'da dizelerde birleştirme işlemini sağlamak için hangi operatör kullanılır?

<ul> <li>(Toplama) (B)</li> </ul> Signup and view all the answers

Aşağıdakilerden hangisi Python'da bir kontrol akışı yapısı değildir?

<p>switch (D)</p> Signup and view all the answers

Python'da bir döngüyü belirli bir koşul sağlandığında sonlandırmak için hangi ifade kullanılır?

<p>break (C)</p> Signup and view all the answers

Python'da bir döngünün başına dönmek ve mevcut yinelemeyi atlamak için hangi ifade kullanılır?

<p>continue (B)</p> Signup and view all the answers

Veri depolamak ve bu veriler üzerinde temel işlemleri yapmak için kullanılan yapılar arasında aşağıdakilerden hangisi Python'da yer almaz?

<p>Array (D)</p> Signup and view all the answers

Birden fazla nesneyi içerisinde depolayan ve değiştirilemeyen bir yapıya sahip olan Python veri yapısı aşağıdakilerden hangisidir?

<p>Tuple (D)</p> Signup and view all the answers

Python'da bir listenin sonuna yeni bir eleman eklemek için kullanılan metot aşağıdakilerden hangisidir?

<p>append() (A)</p> Signup and view all the answers

Python'da bir listeden eleman silmek için kullanılan metotlardan hangisi, elemanın değerini belirtmek yerine indisini kullanarak silme işlemi yapar?

<p>pop() (D)</p> Signup and view all the answers

Python'da bir küme (set) içerisindeki tüm elemanları temizlemek ve kümeyi boş hale getirmek için hangi metot kullanılır?

<p>clear() (A)</p> Signup and view all the answers

İki kümenin kesişimini bulmak ve elde edilen kesişim kümesi ile mevcut kümenin güncellenmesini sağlamak için hangi metot kullanılır?

<p>intersection_update() (C)</p> Signup and view all the answers

Python'da bir fonksiyon tanımlamak için hangi anahtar kelime kullanılır?

<p>def (C)</p> Signup and view all the answers

Python'da bir fonksiyonun geriye değer döndürmesi gerektiğinde hangi ifade kullanılır?

<p>return (D)</p> Signup and view all the answers

Python'da tek satırlık kısa fonksiyonlar oluşturmak için hangi anahtar kelime kullanılır?

<p>lambda (C)</p> Signup and view all the answers

Bir liste veya dizi içerisindeki her bir elemanı bir fonksiyona uygulayıp sonuçları elde etmek için hangi komut kullanılır?

<p>map (C)</p> Signup and view all the answers

Python'da rastgele sayılar üretmek için kullanılan kütüphane aşağıdakilerden hangisidir?

<p>random (B)</p> Signup and view all the answers

Aşağıdakilerden hangisi NumPy kütüphanesinin temel özelliklerinden değildir?

<p>Array yapılarının listelere göre daha fazla yer kaplaması (B)</p> Signup and view all the answers

Veri analizi, veri temizleme ve veri işleme gibi işlemler için en çok kullanılan Python kütüphanesi hangisidir?

<p>Pandas (A)</p> Signup and view all the answers

Web üzerindeki verilerin veya içeriklerin taranmasında kullanılan Python kütüphanesi aşağıdakilerden hangisidir?

<p>Scrapy (C)</p> Signup and view all the answers

Aşağıdakilerden hangisi derin öğrenme modellerinin tanımlanması ve eğitilmesi için kullanılan bir Python kütüphanesidir?

<p>Keras (C)</p> Signup and view all the answers

Python'da görüntü işleme ve analiz için kullanılan popüler kütüphane aşağıdakilerden hangisidir?

<p>OpenCV (D)</p> Signup and view all the answers

Aşağıdakilerden hangisi doğal dil işleme (natural language processing) için kullanılan bir Python kütüphanesidir?

<p>NLTK (B)</p> Signup and view all the answers

Aşağıdakilerden hangisi hem dinamik araştırma hem de içerik üretimi için Google tarafından yaygın olarak kullanılan bir Python kütüphanesidir?

<p>Tensorflow (A)</p> Signup and view all the answers

Aşağıdakilerden hangisi bir sınıfın dışarıdan erişilemeyen ve gizli kalması gereken bilgilerini korumak için kullanılan bir kavramdır?

<p>Kapsülleme (C)</p> Signup and view all the answers

Python'da bir sınıfın hangi üyesine erişilebileceğini kontrol etmek için kullanılan belirteçler hangi seçenekte doğru sıralanmıştır?

<p>Gizli (private), yarı gizli (semi-private), açık (public) (C)</p> Signup and view all the answers

Python'da bir sınıfta gizlenmiş bir üyeye dışarıdan erişmek için hangi sözdizimi kullanılır (sinifinadi 'Sayilar' ise ve gizlenen üye 'sayi3' ise)?

<p>Sayilar.__sayi3 (A)</p> Signup and view all the answers

Python'da bir sınıfta bir metodu özellik haline getirip kullanıma sunmak için hangi dekoratör kullanılır?

<p>@property (D)</p> Signup and view all the answers

Bir ana sınıfa ait bileşenlerin alt sınıflara miras olarak bırakılmasına ne ad verilir?

<p>Kalıtım (Inheritance) (C)</p> Signup and view all the answers

Aşağıdakilerden hangisi çoklu kalıtımın (multi inheritance) avantajlarından biridir?

<p>Fonksiyonel olarak işlem yapma yeteneğinin artırılması (C)</p> Signup and view all the answers

Sınıfların kendi içerisinde bir çok bilgiye sahip olması ve bu bilgilerin gizli kalması hangi kavramla ilgilidir?

<p>Kapsülleme (Encapsulation) (B)</p> Signup and view all the answers

Aşağıdakilerden hangisi Python'da hata yakalama işlemlerinde kullanılan anahtar sözcüklerden değildir?

<p>catch (C)</p> Signup and view all the answers

Python'da, bir dosyayı açmak ve içeriğini okumak için hangi mod kullanılır?

<p>r (B)</p> Signup and view all the answers

Python'da bir dosyayı hem okuma hem de yazma amacıyla açmak için hangi mod kullanılır, dosya daha önceden tanımlanmamış ise ilk defa oluşturulur?

<p>&quot;w+&quot; (A)</p> Signup and view all the answers

CSV dosyalarını okumak için kullanılan pandas kütüphanesindeki komut hangisidir?

<p>read_csv() (A)</p> Signup and view all the answers

Binary dosyalarında veri yazmak için hangi komut kullanılır?

<p>dump() (B)</p> Signup and view all the answers

Işletim sistemine ait komutları kullanabilmek, dosyalar üzerinde işlemler gerçekleştirebilmek için kullanılan modül hangisidir?

<p>os (A)</p> Signup and view all the answers

Aşağıdakilerden hangisi var olan bir dizin içindeki dosyaların bir listesini döndürür?

<p>os.listdir() (B)</p> Signup and view all the answers

Sqlite'da tablo oluşturma işlemi için hangi metot kullanılır?

<p>execute (B)</p> Signup and view all the answers

Var olan tabloya veri eklemek için hangi SQL komutu kullanılır?

<p>INSERT INTO (A)</p> Signup and view all the answers

Matplotlib kütüphanesinde hangi grafik türlerinde çizim yapılabilir?

<p>Hepsi (A)</p> Signup and view all the answers

Verilerin görselleştirilmesinde hangisi önem arz etmez?

<p>Rastgele metot kullanmak (B)</p> Signup and view all the answers

Flashcards

Python nedir?

Dinamik yapıda, öğrenmesi kolay, güçlü yazım desteği sağlayan üst düzey programlama dili.

Python nerede çalışır?

Linux, Windows, Solaris ve Macintosh gibi bilgisayar platformlarında çalışabilir.

Python nerelerde kullanılır?

Yapay zeka, derin öğrenme, büyük veri ve otomasyon gibi alanlarda kullanılan popüler bir programlama dilidir.

Python arayüzleri nelerdir?

python.org, Spyder, PyCharm, JupyterLab, Jupyter Notebook gibi arayüzler.

Signup and view all the flashcards

Editor alanı nedir?

Projenin yazıldığı kısım.

Signup and view all the flashcards

Python dosyaları nasıldır?

“.py” uzantılı dosyalardır ve Editor kısmına aktarılabilirler.

Signup and view all the flashcards

Console alanı nedir?

Projenin çalıştırıldığı alan.

Signup and view all the flashcards

Kaçış sırası nedir?

Ters eğik çizgi () ile sonraki karakterin normal anlamından kaçırılması.

Signup and view all the flashcards

Değişken adları nasıl başlamalı?

Değişken adları her zaman bir harf veya alt çizgi (_) ile başlamalıdır.

Signup and view all the flashcards

Hangi harflerden kaçınmak gerekir?

Büyük harfler ile “O” ve “I” harfleri rakamlarla karıştırılma ihtimali yüksektir.

Signup and view all the flashcards

Değişken adları büyük/küçük harfe duyarlı mı?

Büyük ve küçük harfle başlayan aynı adlı değişkenler farklı algılanacaktır.

Signup and view all the flashcards

Tırnak işareti ne işe yarar?

Python'da dizeleri belirtmek için kullanılır.

Signup and view all the flashcards

  • işareti ne yapar?

Dizilerde birleştirme işlemi için kullanılır.

Signup and view all the flashcards

  • işareti ne yapar?

Dizilerde tekrarlayıcı operatördür.

Signup and view all the flashcards

Python'da kaç tür sayı vardır?

int ve float olmak üzere iki tür sayı barındırma çeşidi bulunmaktadır.

Signup and view all the flashcards

Kontrol akışı (control flow) yapıları nelerdir?

Şartlı durumları ve döngüleri barındırır.

Signup and view all the flashcards

"if" komutu ne yapar?

Bir şart sorgulanır, gerçekleşmiş ise bir işlem yapılır.

Signup and view all the flashcards

elif ve else neyin yerine kullanılır?

Python'da switch döngüsü yerine kullanılır.

Signup and view all the flashcards

"While" döngüsü ne yapar?

Koşullu bir durum sağlandığında bir ifadenin veya bloğun tekrar tekrar çalıştırılmasını sağlar.

Signup and view all the flashcards

"break" ne işe yarar?

Bir döngüden çıkış yapılarıdır.

Signup and view all the flashcards

"for" döngüsü ne yapar?

Bir bloğun programcının istediği duruma kadar tekrarlanmasını sağlar.

Signup and view all the flashcards

Python'da dört temel veri yapısı nelerdir?

Tuple, List, Dictionary, Set

Signup and view all the flashcards

Tuple'lar nedir?

Birden fazla nesneyi içerisinde depolayan yapılardır.

Signup and view all the flashcards

Tuple nasıl değiştirilir?

Listelerin değiştirilebilir yapısı kullanılarak istenilen nesneler değiştirilir.

Signup and view all the flashcards

"list" yapıları ne işe yarar?

Birden fazla nesnenin tek bir değişken içerisinde saklanması için kullanılır.

Signup and view all the flashcards

append() metodu ne işe yarar?

Listelerin sonuna yeni bir eleman eklemek istenildiği zaman kullanılır.

Signup and view all the flashcards

insert() metodu ne işe yarar?

İstenilen dizine yeni bir eleman eklenebilir.

Signup and view all the flashcards

extend() metodu ne işe yarar?

Liste sonuna birden fazla eleman eklemek için kullanılır.

Signup and view all the flashcards

remove() metodu ne işe yarar?

Listedeki elemanlardan istenilenin silinmesini sağlar.

Signup and view all the flashcards

sort() metodu ne işe yarar?

“List” içerisindeki elemanların alfabetik olarak sıralanmasını sağlar.

Signup and view all the flashcards

reverse() metodu ne işe yarar?

“List" içerisindeki elemanların ters sıralanmasını sağlar.

Signup and view all the flashcards

index() metodu ne işe yarar?

“list” içerisindeki aranılan elemanın indisini bulmak için kullanılır.

Signup and view all the flashcards

count() metodu ne işe yarar?

“list” içerisinde sorgulanan elemandan kaç adet olduğunu ekrana yazdıran yapıdır.

Signup and view all the flashcards

copy() metodu ne işe yarar?

“list” içerisindeki elemanları başka bir yere veya başka bir “list” yapısı içerisine kopyalanmasını sağlamaktadır.

Signup and view all the flashcards

Signup and view all the flashcards

Study Notes

Python'a Giriş

  • Python, dinamik ve üst düzey bir programlama dilidir.
  • Öğrenilmesi kolay ve güçlü yazma desteği bulunur.
  • Syntax istisnası azdır, hızlı uygulama alanı sunar ve komut dosyası oluşturmak için idealdir.
  • Dinamik kod yazım sürecini destekler ve düzenli bir görselliğe sahiptir.
  • Birçok platformla uyumlu çalışır.
  • Yapay zeka, derin öğrenme, büyük veri ve otomasyon gibi pek çok alanda kullanılır.

Python Kurulumu ve Arayüzleri

  • Python, birden fazla arayüz teması içerir.
  • Bazı arayüzler: python.org'daki kendi arayüzü, Anaconda Navigator'daki Spyder ve PyCharm.
  • JupyterLab veya Jupyter Notebook, internet tabanlı çalışan program kurulumu gerektirmeyen arayüzlerdir.
  • Anaconda Navigator, görselleştirme sağladığı ve lokal çalışmaya bağlı kalmadığı için avantajlıdır.
  • Proje yazım kısmı "Editor" alanıdır, tüm kod satırları burada yazılır.
  • Python dosyaları ".py" uzantılıdır.
  • Yardım, değişken türleri ve değerler "Variable Explorer" kısmından erişilir.
  • Grafiklerin ve dosyaların incelendiği kısımlar yardımcı alandadır.
  • "Console" alanı, kodların tanımlanması, hataların alınması ve çıktıların elde edildiği yerdir.

Python'da Dizeler ve Değişkenler

  • Python'da bir dizi içindeki karakterler farklı şekillerde yorumlanabilir.
  • Özel karakterleri belirtmek için benzersiz yorumlar kullanılır.
  • Veri türü, verilerin kategorileştirildiği yerdir.
  • Tırnak (' ') içine alınan her şey string olarak algılanır.
  • Ters eğik çizgi (), sonraki karakterin benzersiz ele alınmasını sağlar.
  • Değişkenler adlandırılırken okunabilirlik, anlaşılabilirlik ve kıyaslanabilirlik gözetilir.
  • Değişken adları açıklayıcı olmalıdır.
  • Rakamlara benzeme ihtimali olan harflerden kaçınılmalıdır.
  • Değişken adları her zaman bir harf veya alt çizgi (_) ile başlamalıdır.
  • Değişken adlarının kalan kısımları sayılar, harfler ve alt çizgilerden oluşabilir.
  • Büyük ve küçük harf duyarlılığı vardır.
  • Değişkenler, program yazılmadan önce depolama yeri olarak kullanılır.
  • Değişken isimleri, depolanacak verilerin etiketlendiği alanlardır.
  • Python'da dizeleri belirtmek için tek (' ') veya çift (“ ") tırnak işareti kullanılır.
  • Dizelerin alt kümeleri ([ : ]) veya ([ ]) işaretleriyle ifade edilir.
  • Birleştirme işlemi ( + ) işareti ile yapılırken, tekrarlama için ( * ) kullanılır.
  • Python'da int ve float olmak üzere iki tür sayı bulunur.
  • Değişkenler, diğer programlama dillerinde olduğu gibi değerleri depolar.

Kontrol Akışı ve Döngüler

  • Mantıksal sınamaları gerçekleştirmek için kontrol akışı yapıları kullanılır.
  • Şartlı durumlar "if" komutuyla sorgulanır, "elif" ile başka şartlar sorgulanır, "else" ile dışına çıkılır.
  • Döngüsel yapılar "while" veya "for" ile sağlanır, istenilen şarta kadar devam ettirilir.
  • "While" döngüsünde şartın sağlanmadığı durumlar "else" ile ifade edilir.
  • Döngüden çıkmak için "break", devam ettirmek için "continue" kullanılır.
  • "For" döngüsü, bir bloğun programcının istediği duruma kadar tekrarlanmasını sağlar.
  • "print" fonksiyonu içindeki "f" fonksiyonu, "{}" içindeki değişkeni yazdırmak için kullanılır.

Veri Yapıları: Tuple, List, Dictionary, Set

  • Veri depolamak ve temel işlemleri yapmak için kullanılır.
  • Dört temel veri yapısı: Tuple, List, Dictionary, Set.
  • Tuple, birden fazla nesneyi depolayan yapılardır, listelere benzer ama değiştirilemezdir.
  • Tuple üzerinde değişiklik yapmak için listeye aktarmak gerekir.
  • List, nesneleri saklamak için kullanılır, sıralıdır, değiştirilebilir ve yinelenebilir değerlere izin verir.
  • List yapıları köşeli parantez ile oluşturulur.
  • List yapılarında ilk indis [0] ile başlar.
  • List içindeki değerler güncellenebilir.
  • Listelerin sonuna eleman eklemek için append() kullanılır.
  • İstenilen dizine eleman eklemek için insert() metodu kullanılır.
  • Birden fazla elemanı listeye eklemek için extend() metodu kullanılır.
  • Listedeki elemanı silmek için remove() kullanılır.
  • Listenin indisini silmek için de kullanılır.
  • Listenin elemanlarını sıralamak için sort() kullanılır.
  • Listenin elemanlarını ters sıralamak için reverse() kullanılır.
  • Bir elemanın indisini bulmak için kullanılır.
  • Coun() metodu, elemanın kaç adet olduğunu ekrana yazdırır.
  • Copy() metodu listedeki elemanları başka listeye kopyalamayı sağlar.

Set Veri Yapısı ve Kümeler

  • Python'da veri türleri mutable (değiştirilebilir) ve immutable (değiştirilemez) olarak ikiye ayrılır.
  • Liste, sözlük ve tuple versiyonlarının hepsi "set" yapıları içerisinde kullanılabilir.
  • Kümeler üzerinde yapılan işlemler bu yapıda gerçekleştirilebilir.
  • Set yapıları { } şeklinde tanımlanır.
  • Boş küme tanımlarken "kume= { }" kullanılamaz, Python bunu sözlük olarak algılar.
  • Set Add() bir küme içindeki elemanların arasına yeni bir eleman eklemek için kullanılır.
  • Clear() bir küme içerisindeki elemanları temizlemeye için, Copy() bir “set" yapısının kopyalaması.
  • Update() daha önceden tanımlanmış bir “set" yapısı içerisindeki değerleri güncellemek için kullanılır.
  • Remove() daha önceden tanımlanmış bir “set" yapısı içerisindeki elemanlardan birini silmek içindir.
  • Discard() metodu, remove() metodu gibi eleman silmek için kullanılır.
  • Pop() bir kümenin ilk elemanını silmeye yaramaktadır.
  • Union() iki farklı kümenin birleşimi için kullanılmaktadır.
  • İntersection() iki kümenin kesişimi için kullanılmaktadır.
  • İsdisjoint() metodu iki kümenin keşisimlerinin boş küme olup olmadığını kontrol etmek içindir
  • Difference() ise bir kümenin başka bir kümeden ne farklı olduğu sorusuna cevap vermektedir.
  • Difference_update() metodu, difference() metodu mantığında çalışmakta ve aranan elemanlara göre listeyi güncellemektedir.

Python'da Fonksiyonlar

  • Fonksiyonlar, programlama dillerinde belirli görevleri yerine getiren yapılardır.
  • Programın etkili ve verimli çalışmasını sağlarlar.
  • Tekrar eden görevleri tek bir yerde tanımlama imkanı sunarlar.
  • Python'da bazı fonksiyonlar kütüphanelerde hazır bulunur.
  • Fonksiyonlar (alt program, metot veya prosedür) bir ana programın ya da bir alt program tarafından çağrılmak için oluşturulur.
  • Fonksiyonlar yazılan programın anlaşılabilirliğini ve kod takibini kolaylaştırır.
  • Fonksiyonlar parametreli veya parametresiz olabilir ve değer döndürebilir veya döndürmeyebilir.
  • Fonksiyonlar bir kez oluşturulur ve bir program içinde birden fazla yerde çağrılabilir.
  • Başka programlarda da kullanılabilirler.
  • Çağrıldıkları yerdeki verilere göre işlem yapıp sonuçlarını yine çağrılan programa döndürürler.
  • Fonksiyon dışından değer alımlarına parametre veya argüman denir.
  • Programlar arasında ya da program içinde değer döndürmek için "return" kullanılır.
  • Python'da kodlama hiyerarşisi önemlidir: önce fonksiyon tanımlanır, sonra çağrılır.
  • Fonksiyon tanımlamak için "def" anahtar kelimesi kullanılır.
  • Fonksiyonun ana programda çalışması için modül ismi "main" olarak ayarlanır.
  • Bazı fonksiyonlar birden fazla parametre alıp değer üretebilir.
  • Return komutu, fonksiyonun geriye döndüreceği değeri üretir.
  • Boş fonksiyondan hata almamak için "pass" komutu yazılır.
  • Tanımlanacak fonksiyon tek satırlık ise "lambda" kullanılır.

Map ve Filter Komutları

  • Bir liste veya dizi ile fonksiyon çalıştırıp ve fonksiyonda değerler hesaplayıp ve bu değerler üzerinde belli bir durumu sağlayanların filtrelenip diğerlerin gösterilmesi "filter” komutu ile gerçekleştirilir.
  • Değerler hesaplanmak isteniyorsa “map” komutu kullanılmaktadır.
  • Python'da rastgele sayılar üretmek için random kütüphanesi kullanılır.

Python'da Kütüphaneler

  • Pygame: Oyun üretimi için kullanılır.
  • Numpy: Matematiksel sorunların çözümünde kullanılır.
  • Pandas: Veri analizi, temizleme ve işlemede kullanılır.
  • Matplotlib: Verileri grafiksel olarak göstermede kullanılır.
  • Scrapy: Web üzerindeki verileri taramada kullanılır.
  • Pytorch: Makine ve derin öğrenme konularında kullanılır.
  • CatBoost: Sınıflama ve regresyon için kullanılır "Gradient Boosting" tabanlı.
  • Pybrain: Modüler bir makine öğrenme kütüphanesidir.
  • XGBoost: Çok sayıda veri bilimi problemini çözer.
  • Keras: Derin öğrenme modellerinin tanımlaması ve eğitilmesi için kullanılır.
  • OpenCV: Görüntü işleme, değiştirme veya tanımada kullanılır.
  • Seaborn: İstatistiksel hesaplamalar ve veri görselleştirme amacıyla kullanılır.
  • Speech Recognition: Ses tanıma için kullanılır.
  • Bokeh: Veri görselleştirme amacıyla kullanılır.
  • NLTK: Doğal dil işlemede araç setleri sunar.
  • Tensorflow: Veri akışlarının programlanması için kullanılır.
  • Plotly: Veri görselleştirme ve dashboard oluşturmak için kullanılır.
  • Theano: Matematiksel alanda matris değerlerini işlemekte kullanılır.
  • Scikit-Learn: Makine öğrenmesi ve veri madenciliğinde kullanılır.
  • StatModels: İstatistiksel modellerin tahminlerini yapmada kullanılır.
  • Requests: Kullanıcıların istemiş olduğu özellikleri yönetmek için kullanılan "http" tabanlı
  • Pyglet: Resim, video, müzik derlemeyi destekleyen oyun veya multimedya uygulamalarında.

Python'da Sınıflar

  • Nesne tabanlı programlama dilleri sorunlara çözüm önerileri getirmek için her geçen gün geliştirilmektedir
  • Python programlama dili tamamen nesne tabanlı bir dil olduğu için sınıflar, fonksiyonlar, değişkenler, listeler gibi her şey birer nesne olarak algılanmaktadır
  • Python programlama dilinin temellerini sınıflar ve bu sınıfların örneklerle desteklenmiş hallerinde nesneler/objeler oluşturmaktadır.
  • Python programlama dilinde kullanılan sınıf yapıları C++ ve Module-3 dillerindeki sınıf yapılarının karışımı gibi düşünülebilir.
  • Python programlama dili tüm standart olan özelliklere sahiptir.
  • Bu standart özelliklerden bazıları; Kalıtım, Soyutlama, Sarmalama, Çok biçimlilik şeklindedir
  • Simf sözlük anlamı olarak belli bir toplulukta aynı görevi yapmak için gayret sarfeden aynı şartlarda yaşayan aynı menfaatlere sahip olan insan grubuna denilmektedir
  • Sınıf kavramının programlama dillerindeki karşılığı aynı özelliklerde veya davranışlarda bulunan nesnelerin aynı çatı altında toplanmasına denir
  • Yazılımlarda bir sınıf tek başına bir anlam ifade edemez kendi içerisinde birçok nesne oluşturabilir
  • Bir sınıf içerisinden nesne oluşturma işlemine örnekleme denir.
  • Class Anahtar Kelimesi Sınıflar oluşturulurken "class" anahtar kelimesi kullanılmaktadır.

Nesne Oluşturma ve Metotlar

  • Python üzerinden artık bir sınıf tanımlaması gerçekleştirildi
  • Ancak bu sınıfın bir objesi bulunmamaktadır
  • Obje tanımlama yöntemi; Obje_adı = Sınıf_adı(parametreler) Artık bir sınıf ve içerisinde bir obje bulunmaktadır.
  • Tanımlanan objenin özelliklerine ulaşmak için; Obje_adı.özellik adı şeklinde bir kod satırı oluşturulmalıdır
  • class '_ delattr', "eq_',__le_format it. setattr . sizeof ge'. getattribute', "gt',_module _str ne newreduce _reduce ex, repr_subclasshook ' '_dict__init init subclass..hash _weakref']
  • Başlangıçta herhangi bir metod ile ilgili bilgi verilmedi ise metodlar Python programlama dili tarafından varsayılan olarak atanır.
  • Her bir objenin başlangıçtaki değerlerden farklı olmasını isteniyorsa, obje oluşturulurken değerinin de tanımlanması gerekmektedir
  • Bunun için init() metodu kullanılmalıdır
  • Bu metod Python'da yapıcı (constructor) fonksiyon olarak tanımlanmaktadır
  • Burada dikkat edilmesi gereken “self" komutunun da yazılmış olmasıdır. “Self” komutu bir objeye özellik atanırken referans gösterilmesi için kullanılmaktadır.
  • Metotların kullanım amaçlarından birisi de belli bir sınıfa düzen sağlayıp, kodun daha anlamlı ve okunabilir olmasını sağlamaktadır.
  • Statik Metotlar Python'da sınıf metotlarının dışında bir de statik metotlar bulunmaktadır.
  • Python programlama dilinde örnek özellikleri üzerinde işlemler gerçekleştirilecekse örnek metotları kullanılır
  • Sınıfın özellikleri üzerinden işlemler gerçekleştirilecekse sınıf metotları kullanılır
  • Peki, statik metotlara neden gereksinim duyulmaktadır? Bu sorunun en temel cevabı bir sınıfın herhangi bir özelliği sınıf dışına çıkarılmadan bir fonksiyonel işlem yapılıp yeniden sınıf içerisine yerleştirilmesidir.
  • Statik metotlar matematikteki ara işlemlerin yapmasında sıkça kullanılan bir yöntemdir.
  • Sınıf metotları ile statik metotların kullanım şekilleri benzerlik gösterir.
  • Ancak statik metotlar referans istemediklerinden ve fonksiyonun içeriğini herhangi bir yerde kullanmadığı için daha hızlı ve kodlama açısından da daha az bilgi döndürmektedirStatik metotlar sonuç odaklıdır
  • Sınıflar ile ilgili bilinmesi gerekenler; Kendilerine özgü özelliklerin tanımlanmasında kullanılmaktadır Oluşturulmak istenilen kendilerine özgü özellikler önceden tanımlanmış başka özellikler ile desteklenebilmektedirSimflarm tanımlanmasında "class” anahtar kelimesinin kullanılması şarttırKodlamanın okunabilirliği adına bir sınıf adıyla birlikte tanımlanır ve bu sınıf adıyla çağrılırBir sınıf içinde oluşacak nesnelerin özelliklerinin ve davranışların tanımlanması için oluşturulur

Fonksiyonlar ve Nesneler

  • Nesneler tanımlandıktan sonra belli bir hafızada tutulmaya başlamaktadırlar
  • Nesneler tanımlanırken belli bir durumu (state) ifade etmek amacıyla oluşturulmalıdır
  • Bir nesnenin bir durumu ifade etmemesi, o nesnenin tanımlanmasının amacının olmadığını gösterecektir
  • Bir sınıf içerisinde birden fazla nesne olabilirBir sınıf içerisindeki tüm nesneler farklı özellikler göstermelidirNesneler sınıfların içerisinde oluşturulur. Bir sınıfa ait olmayan bir nesne oluşturulmuş olamaz

Python'da Kalıtım

  • Bir ana sınıfa ait bileşenlerin oluşturulan alt sınıflara miras olarak bırakılmasına kalıtım denir.
  • Kalıtımda bir sınıfın özelliklerini (attribute) veya metotlarını miras olarak alabilir.
  • Kalıtım özelliklerini veya metotlarını alan sınıf, atasının özelliklerini veya metotları taşır.. Üst sınıf (türediği) sınıf, mirası alan sınıfa ise alt (türeyen) sınıf adı verilir.
  • Kalıtım ile türetilen alt sınıf, türediği üst sınıfın özelliklerini taşıdığı gibi kendi yapısı içerisinde de ihtiyaç duyulan özelliklere göre özelleştirilebilir.
  • Alt sınıflara üst sınıfından farklı olarak yeni yetenekler kazandırılabilir.Bir alt sınıf özelliklerini taşıdığı üst sınıfın işlevlerini değiştirebilir. Bu duruma overriding (üzerine yazma) denir.
  • Alt sınıfın fonksiyonel olarak işlem yapma yeteneklerinin artırılması anlamına gelmektedir
  • Python programlama dilinde bir alt sınıfın birden fazla üst sınıfı bulunabilir. Bu duruma alt sınıfların fonksiyonel olarak işlem yapma yeteneklerinin artırılması anlamına gelmektedir
  • Bu durum alt sınıfların fonksiyonel olarak işlem yapma yeteneklerinin artırılması anlamına gelmektedir
  • Çoklu kalıtımda(Multi Inheritance)bir çoklu kalıtımda birden fazla üst sınıfın özelliğini kendi içerisinde barındırdığı durumlardır
  • Verilerin çokluğundan ziyade bazı durumlarda da gizli kalmaları önemlidir. Sınıf içerisindeki her bilgiye her yerden erişilmesi güvenlik açısından zafiyetler doğuracaktır. Böyle zafiyetlerin oluşmaması adına gizli kalması gereken bilgilerin korunması ve yayılmasının önlenmesi gerekmektedir
  • Her bir nesne, kendi içerisinde belli veriyi tutar ve belli bir işlem gerçekleştirmektedirSınıfların oluşturulması mantığında olduğu gibi aslında hazırlanan bir sınıf, diğer sınıfların kullanımına sunulmuş özellikler ve fonksiyonlar barındıran dinamik yapılardır
  • Sarmalama veya paketleme olarak da bilinen kapsülleme (encapsulation) bir sınıfın içeriğinin gizlenerek dışarıya sadece istenilen özellik veya fonksiyonların gösterilmesi işlemine denir.- Veriye doğrudan erişim sağlanmaz, yalnızca getter veya setter gibi metotlar yada fonksiyonlar ile erişim sağlanır ve sınırlı biçimde değişiklik yapılmasına imkan tanınır.Bir sınıf içerisindeki tüm özelliklere erişim sağlanamasın ve tüm içerik bilinemesin diye kapsülleme kullanılmaktadır

Kalıtım ve Değişkenler

  • Kapsülleme ile bir sınıfın iç bütünlüğü gizlenmekte ve korunmaktadırAyrıca kapsülleme, sınıfın dışına istenilen özellik ve fonksiyon dışında veri vermediği için kodlama da yalınlık sağlanmaktadır
  • Kapsülleme işleminde set ön ekli fonksiyonlar içerisine belirli parametreler alan ve almış olduğu parametreleri gizli (private) üyenin değerleriyle değiştiren fonksiyonlardır
  • Kapsülleme işleminde get ön ekli fonksiyonlar içerisine belirli parametreler alan ve almış olduğu parametreleri “return” fonksiyonuyla birlikte gizli (private) üyenin değeriyle geri döndüren fonksiyonlardır
  • Yunanca kökenli olan “Poly” (çok) ve “Morpho’s” (şekil) anlamına gelen polymorphism kelimesi çok biçimlilik anlamına gelmektedir
  • Tanımlanan nesnelerin olaylar karşısında çeşitli davranışlarda bulunmasına çok biçimlilik (polymorphism) denir.
  • Soyut Sınıf (Abstract Class)Bir programın yüzlerce farklı çıktısı olabilir
  • Bu çıktıların tamamı herkes için bir anlam ifade etmek zorunda değildir
  • Bazı çıktılar kullanıcılar veya programlar için herhangi bir anlam ifade etmeyebilir
  • Bu durumda anlam karmaşası ortaya çıkaracaktır.
  • Dolayısıyla bazı gereksiz çıktıların gizlenmesi ve karşı tarafa gönderilmemesi gerekecektir
  • Kullanıcıdan yada başka bir programdan gereksiz detayların gizlenerek ve sadece gerekli duyulan özelliklerin gösterilmesine soyutlama (abstraction) denirDeğerlerin dış dünyaya kapalılığı(sarmalama) ile dış dünyanın değişkenlere kapalılığı(soyutlama) farklı şeylerdir

Hata Yönetimi ve İstisnalar (Exception Handling)

  • Programlama işlemi günlük hayatta karşılaşılan bir problemin bilgisayar ortamına aktarılması ve çözüme kavuşturulmasını amaçlamaktadır. Ancak bu aktarım sırasında insan beyninin hemen kavradığı yapıları bilgisayara kavratılamadığı zaman hatalar verecektir.
  • Hata kaynağının tespit edilmesiyle çözüm yolları geliştirilir.
  • . Programcıların karşılaşabileceği hataları üç sınıfta toplamak mümkündür:
  • Mantık hataları(logical errors) *Yazım hataları(syntax errors) *Çalışma zamanı hataları(run time errors) 1.
  • Mantık Hataları : Mantık hatalarında program çalıştırıldığı herhangi bir uyarı veya hata mesajı alınmaz. B Bu hata beklenen sonucun alınmadığı durumlarda tespit edilir
  • Yazım Hataları : Mantık hatalarına göre tespit edilmesi daha kolaydır. Python programlama dilinde yorumlayıcı zaten satır bazlı olarak kod yazımının denetimini gerçekleştirdiği için herhangi bir yazım hatasını verdiği alanın düzeltimi sağlanmadan bir alt satırdaki koda geçiş yapmaz
  • Çalışma Zamanı Hataları : Programın çalışması esnasında beklenmedik bir durumun ortaya çıkması sonucu oluşan hatalara çalışma zamanı hataları denir
  • Çalışma zamanı hataları istisna (exception) kavramıyla da bağdaştırılmıştır
  • . Temel sınıfların bazı istisnalar ve açıklamaları aşağıda verilmiştir
  • Exception: Sistem üzerinde çıkmayan istisnaların türetildiği sınıftır Kullanıcıların tanımlayacağı istisnalarda bu sınıf içerisinde yer almaktadır
  • ArithmeticError: Çeşitli aritmetik işlemlerde meydana gelecek istisnaların temel sınıfıdır
  • BufferError: Arabellek ile ilgili bir işlemin gerçekleştirilemediği durumlarda ortaya çıkan istisnadır

İstisnalar

  • LookupError : Eşleştirme veya herhangi bir dizide kullanılan bir anahtarın yada dizinin geçersiz olduğu durumlarda ortaya çıkan istisnadır *Özel durumlar için oluşturulmuş istisnalar
  • AserionError: Bu istisna “assert” komutuyla yazılmış bir ifadenin yanlış olduğu durumlarda ortaya çıkan istisnadır AttiributeError: Bu istisna bir nesnenin özelliklerindeki yanlışlıkta veya sorgulanan özelliğin hiç ilgili nesneye atanmadığı durumlarda ortaya çıkan bir istisnadır
  • EOFError: Bu istisna “input()” komutunun herhangi bir veri okumadan dosya işleminin sonuna gelmiş olduğu durumlarda ortaya çıkmaktadır
  • İmportError: bu istisna “import" komutuyla içeri aktarılacak olan yapının yüklenmesi sırasında hatanın oluştuğu durumlarda ortaya çıkmaktadır
  • IndexError :Çağrılan veya kullanılan bir diziye ait indisin aralık dışında olması durumlarında ortaya çıkmaktadır
  • KeyError: Mevcut anahtarlar kümesi içerisinde çağrılan veya kullanılan bir eşleme anahtarının olmadığı durumlarda ortaya çıkmaktadır
  • Python programlama dilinde hata yakalama işlemleri try, except, else ve finally olmak üzere dört farklı anahtar sözcük kullanılır Hata yakalama işlemlerinin temelini try ile except arasındaki kod blokları oluşturur
  • Hata üzerine seçim işlemleri gerekiyorsa else ve finally ifadeleri de kod bloklar arasına yerleştirilir Bir işlem üzerinde hata olsun veya olmasın her haliyle çalıştırılmak isteniyorsa ise finally anahtar kelimesi de eklenir Hataların gruplandırılmasında kullanılır.

Dosya İşlemleri

  • Programlama dillerinde bazı durumlarda girilen verilerin saklanması veya saklanan bilgiler üzerinden işlem yapılması gerekebilir Çok sayıda kişi, işlem, bilgi veya sonucun depolanması ve daha sonra kullanılmak üzere hazır hale getirilmesi gerekecektir Daha sonra kullanılabilmek amacıyla kalıcı olarak depolama birimlerinde saklanan veri ve programlara dosya (file) adı verilmektedir
  • Metin (Text) dosyaları, İkili Dosyalar (Binary Files) olmak üzere iki grupta incelenmektedir.
  • Metin Dosyaları Bir metin editörü yardımıyla oluşturulan programlara verilen addır Metin karakterleri (\n) veya (\r) gibi satır sonu belirteçleriyle kodlama satırı sonlandırılır İkili Dosyalar Metin dosyalarında olduğu gibi sadece metin içermeyen, aynı zamanda ses, resim, video yapıları da içerisinde barındıran dosyalama türüdür Dosyanın erişimi byte bazlıdır
  • Temel Dosya İşlemleri Dosyalar üzerinde temel olarak üç farklı işlem yapılmaktadır Bunlar; Dosyaların açılması,dosyalar üzerinde işlemlerin yapılması(Dosya üzerindeki herhangi bir verinin okunması, dosya üzerine herhangi bir verinin yazılması, dosya üzerindeki bir verinin düzeltilmesi, güncellenmesi veya silinmesi), dosyanın kapatılması

Veri Çeşitleri ve Çeşitli Komutlar

  • .Python programlama dilinde dosya işlemlerinin gerçekleştirilmesi için bazı özel komutlar bulunmaktadır. Bu komutlar dosya üzerinde farklı amaçlara hizmet vermek için oluşturulmuştur :
  • "w" komutu Bir dosya sadece yazma amacıyla açılmak isteniyorsa kullanılmaktadır

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Python Basics
50 questions

Python Basics

RecordSettingConnemara3934 avatar
RecordSettingConnemara3934
Use Quizgecko on...
Browser
Browser