0% found this document useful (0 votes)
20 views92 pages

Python Unit 3

Uploaded by

serdarturan6224
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views92 pages

Python Unit 3

Uploaded by

serdarturan6224
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

2024-2025 EĞİTİM VE ÖĞRETİM YILI

PROGRAMLAMA DİLLERİ MODÜLÜ (PYTHON)

3. ÜNİTE

NESNE YÖNELİMLİ PROJE GELİŞTİRME

Kaynak: [Link]
Kaynak: [Link]

Nesne Yönelimli Programlama


(Object-Oriented
NESNE Programming - OOP), yazılım
YÖNELİMLİ geliştirme sürecinde nesneleri
PROGRAMLAMA ve bu nesnelerin arasındaki
ilişkileri temel alan bir
programlama paradigmasıdır.
NESNE YÖNELİMLİ
Kaynak: [Link]

PROGRAMLAMA
• Python, nesne yönelimli bir dildir ve bu
yaklaşımda, gerçek hayattaki varlıkları
programlama dünyasına aktarmak için sınıflar
(class) ve nesneler (object) kullanılır.
NESNE KAVRAMI
Kaynak: [Link]

• Nesne, bir sınıfın örneğidir ve veriler ile bu verilere


uygulanacak davranışlardan oluşur. Örneğin, bir
"Araba" sınıfını ele alırsak, bu sınıftan üretilen bir
nesne, bir arabayı temsil eder.
Bir nesnenin iki temel öğesi vardır:

1. Methods (Metotlar): Nesnenin


gerçekleştirebileceği davranışlardır. Metotlar,
sınıfın içinde tanımlanan fonksiyonlardır ve
genellikle nesnenin niteliklerini işlemek veya
onlara erişmek için kullanılır.

Örneğin, "Araba" nesnesi için "hızlan", "yavaşla"


veya "kornaya bas" gibi davranışlar metotlardır.

Kaynak: [Link]
Bir nesnenin iki temel öğesi vardır:

1. Attributes (Nitelikler): Nesnenin sahip olduğu


özelliklerdir. Bu özellikler, sınıf içinde tanımlanır
ve bir nesnenin durumunu ifade eder. Örneğin,
bir "Araba" nesnesinin rengi, markası, modeli
gibi bilgiler niteliklerdir.

Python’da nitelikler, sınıf içinde tanımlanan


değişkenlerdir.

Kaynak: [Link]
SINIF YAPISI (SADECE İNCELEYİN, AYRINTILAR DAHA SONRA)

Kaynak: [Link]
Attribute ve
Kaynak: [Link]

Metotların Detayları

Nitelikler (Attributes):

• [Link], [Link], ve
[Link] gibi sınıfın yapıcı
metodu (__init__) içinde
tanımlanır.

• Her nesne, kendi niteliklerine


sahiptir ve bu nitelikler, nesneye
özel değerler taşır.
Attribute ve
Kaynak: [Link]

Metotların Detayları

• Metotlar (Methods):
• Sınıf içinde tanımlanan fonksiyonlardır
ve genellikle nesne ile ilgili işlemleri
gerçekleştirir.

bilgileri_goster(self) , kornaya_bas(self)

• İlk parametreleri her zaman self


olmalıdır, bu parametre, metotların
nesneye erişmesini sağlar.
Nesne Yönelimli Programlama İle
Yordamsal Programlama Arasındaki Fark

• İkisi de yazılım geliştirme için kullanılan farklı yaklaşımlardır.

• İkisi arasındaki temel farklar, programların organizasyonu, veri


ve davranışların ayrımı, ve çözüm yöntemlerindeki bakış
açısıyla ilgilidir.

Kaynak: [Link]
Yordamsal Programlama (Procedural Programming)

Yaklaşım

• Programlar, bir dizi talimat veya


prosedürden (fonksiyonlardan) oluşur.

• Veri ve işlemler (davranışlar) birbirinden


bağımsızdır.

Kaynak: [Link]
Yordamsal Programlama (Procedural Programming)

Amaç
• Problemi küçük ve bağımsız alt görevler (fonksiyonlar) hâline
getirerek çözmek.

Veri Yönetimi
• Veriler genellikle global değişkenler ile saklanır ve bu
değişkenler, programın farklı yerlerinden erişilebilir. Bu, veri
bütünlüğü sorunlarına yol açabilir.

Kaynak: [Link]
Yordamsal Programlama (Procedural Programming)

Avantajları:
• Basit ve küçük projelerde etkili.
• Anlaması ve uygulaması kolaydır.

Dezavantajları:
• Büyük ve karmaşık projelerde kodun okunabilirliği ve
yönetilebilirliği zorlaşır.
• Veri ve davranışların ayrılığı nedeniyle, bir değişiklik
yapmak programın diğer bölümlerini etkileyebilir.

Kaynak: [Link]
Yordamsal Programlama (Procedural Programming)

Avantajları:
• Basit ve küçük projelerde etkili.
• Anlaması ve uygulaması kolaydır.

Dezavantajları:
• Büyük ve karmaşık projelerde kodun okunabilirliği ve
yönetilebilirliği zorlaşır.
• Veri ve davranışların ayrılığı nedeniyle, bir değişiklik
yapmak programın diğer bölümlerini etkileyebilir.

Kaynak: [Link]
Yordamsal Programlama (Procedural Programming) Örnek Kod
Yapısı

Kaynak: [Link]
Nesne Yönelimli Programlama (Object-Oriented Programming - OOP)

Yaklaşım

Programlar, nesneler ve bu nesneler arasındaki ilişkiler üzerinden


organize edilir.

Nesneler, hem verileri (nitelikler) hem de davranışları (metotlar)


bir arada tutar.

Kaynak: [Link]
Nesne Yönelimli Programlama (Object-Oriented Programming - OOP)

Amaç
Gerçek hayattaki varlıkları yazılım dünyasına yansıtmak ve her bir
varlık için bir sınıf (class) tanımlamak.

Veri Yönetimi
Veriler nesneye özgüdür ve nesneler dışarıdan izole edilmiştir. Bu,
veri bütünlüğünü artırır.

Kaynak: [Link]
Nesne Yönelimli Programlama (Object-Oriented Programming - OOP)

Avantajları

Büyük ve karmaşık projelerde daha düzenli ve yeniden kullanılabilir


bir yapı sunar.
Kod tekrarını önler, çünkü sınıflar bir kez yazılır ve tekrar tekrar
kullanılabilir.
Kolay bakım ve genişletilebilirlik sağlar.

Dezavantajları

Küçük projelerde gereksiz yere karmaşık olabilir.


OOP'nin yapısını öğrenmek başlangıçta daha zordur.

Kaynak: [Link]
Nesne Yönelimli Programlama (Object-Oriented Programming - OOP) Örnek Kod Yapısı

Kaynak: [Link]
Dilin Kurallarına Uygun Bir Nesne Tanımlaması

Sınıf Tanımlama (Class Definition)

class anahtar kelimesi kullanılarak bir sınıf


tanımlanır.

Sınıf isimleri genellikle PascalCase ile yazılır


(örneğin: Araba, KullaniciBilgisi).

ÖRNEK

class Araba:

Kaynak: [Link]
Dilin Kurallarına Uygun Bir Nesne Tanımlaması

Yapıcı Metot (Constructor)

Sınıfın bir nesnesi oluşturulduğunda otomatik olarak


çağrılan, genellikle nesneye ait niteliklerin başlangıç
değerlerini belirlemek için kullanılan özel bir metottur.

Python'da bu metot __init__ adını taşır ve ilk


parametresi self olmalıdır.

ÖRNEK

def __init__(self, marka, model, yil):


................
................

Kaynak: [Link]
Dilin Kurallarına Uygun Bir Nesne Tanımlaması

Nitelikler (Attributes)

Nitelikler, sınıfa ait verileri saklar.

self kullanılarak sınıf içinde tanımlanır ve nesneye özel


hale getirilir.

Gerektiğinde niteliklere dışarıdan erişim ve düzenleme


yapılabilir.

ÖRNEK

[Link] = marka

[Link] = model

Kaynak: [Link]
Dilin Kurallarına Uygun Bir Nesne Tanımlaması

Metotlar (Methods)

Metotlar, nesneye özel davranışları (işlevleri) tanımlar.

İlk parametresi self olmalıdır; bu, nesneye erişimi sağlar.

ÖRNEK

def bilgileri_goster(self):

Kaynak: [Link]
Dilin Kurallarına Uygun Bir Nesne Tanımlaması

Yazım Kuralları

Python'un yazım kurallarına (örneğin, snake_case kullanımı) ve


kodlama standartlarına (PEP 8) uyulmalıdır. (Araştırınız)

Erişim Düzeni

Gerektiğinde nitelik ve metotlar için özel (private) veya korumalı


(protected) erişim düzeyleri uygulanabilir.

• Özel nitelikler/metotlar: __isim şeklinde tanımlanır.


• Korumalı nitelikler/metotlar: _isim şeklinde tanımlanır.

Kaynak: [Link]
Dilin Kurallarına Uygun Bir Nesne Tanımlaması

Kaynak: [Link]
Dilin Kurallarına Uygun Bir Nesne Tanımlaması

Dil Kurallarına Uygunluk İçin Dikkat Edilmesi Gerekenler

Anlamlı İsimlendirme:
• Sınıf, nitelik ve metot adları anlamlı ve tanımlayıcı olmalıdır.

Yapılandırılmış Kodlama:
• Kod, okunabilir ve düzenli bir şekilde yazılmalıdır.
• Gereksiz tekrarlar (redundancy) olmamalıdır.

Yazım ve Biçim Kuralları:


• Python’un girinti (indentation) kurallarına uygun yazılmalıdır
(her blok için 4 boşluk).
• Yorumlar açıklayıcı olmalı ve kodla çelişmemelidir.

Kaynak: [Link]
DİL KURALLARI ÖRNEK KOD YAPISI (UYGULAYINIZ)
class Araba:
# Yapıcı metot (__init__)
def __init__(self, marka, model, yil):
[Link] = marka # Genel nitelik
[Link] = model # Genel nitelik
self.__yil = yil # Özel nitelik (dışarıdan doğrudan erişim yok)

# Niteliklere erişim için getter metotları


def get_yil(self):
return self.__yil

# Niteliklerin değiştirilmesi için setter metotları


def set_yil(self, yeni_yil):
if yeni_yil > 1885: # Mantıksal kontrol (ilk otomobilin üretim yılı)
self.__yil = yeni_yil
else:
print("Geçersiz yıl!")

# Genel bir metot


def bilgileri_goster(self):
return f"Marka: {[Link]}, Model: {[Link]}, Üretim Yılı: {self.__yil}"

# Nesne oluşturma
araba1 = Araba("Toyota", "Corolla", 2020)

# Metotların ve niteliklerin kullanımı


print(araba1.bilgileri_goster()) # Marka: Toyota, Model: Corolla, Üretim Yılı: 2020
araba1.set_yil(2022) # Yılı güncelle Kaynak: [Link]
print(araba1.get_yil()) # 2022
Dosya Nesneleri Nedir?
Kaynak: [Link]

Bilgilerin kalıcı olarak saklanması veya


okunması gereken durumlarda kullanılır.
Dosya nesneleri, bir dosyayla çalışmayı
mümkün kılar.

Örneğin:
• Verileri bir dosyaya yazmak
(kayıt/log tutma).
• Bir dosyadan veri okumak
(örneğin, ayar dosyalarını
yüklemek).
Dosya Nesneleri Gerekli Olan Projeler
Kaynak: [Link]

Dosya nesneleri genellikle veri depolama ve yönetimi gerektiren projelerde tercih


edilir:
Veri Günlüğü ve Loglama
• Uygulamaların hata günlüklerini saklamak için dosya nesneleri gerekir.
• Örnek: Bir web sunucusunun hata raporları, bir oyun uygulamasının skor
kayıtları.
Veritabanı Alternatifi Olarak Kullanım
• Basit projelerde bir veritabanı yerine düz metin dosyaları, JSON veya CSV
dosyaları kullanılarak veri saklanabilir.
• Örnek: Bir öğrenci bilgi sistemi, günlük görev yönetimi uygulaması.
Metin veya Veri İşleme
• Kullanıcıdan alınan bilgileri dosyalara kaydetmek ya da dosyalardan
okuyarak işlem yapmak.
• Örnek: Bir metin düzenleyici, şifre yöneticisi uygulaması.
Oyunlar
• Oyun kayıtları, oyuncu skorları veya ayar dosyalarını saklamak için.
• Örnek: Bir satranç oyunu kaydettiği oyunları bir dosyada tutabilir.
Kaynak: [Link]

Grafik Nesneleri Nedir?

Grafiksel görseller veya kullanıcı arayüzü


tasarımlarında kullanılır.

Çizim yapmak, şekiller oluşturmak,


görselleştirme yapmak ya da kullanıcılarla
etkileşimli grafikler geliştirmek için kullanılır.
Grafik Nesneleri Gerekli Olan Projeler
Kaynak: [Link]

Grafik nesneleri genellikle görselleştirme, kullanıcı arayüzü tasarımı ve çizim


gerektiren projelerde tercih edilir:
Eğitim ve Öğrenim Uygulamaları
• Geometrik şekiller, grafikler veya etkileşimli görseller ile eğitim içerikleri
oluşturma.
• Örnek: Matematik eğitim yazılımında üçgen, çember veya histogram çizimleri.
Veri Görselleştirme
• Büyük veri setlerinin analiz sonuçlarını görsel olarak sunmak.
• Örnek: Bir satış grafiği uygulaması, hava durumu verileri için çizelgeler.
Tasarım ve Çizim Uygulamaları
• Dijital çizim araçları veya tasarım programlarında çizim nesneleri oluşturmak.
• Örnek: Bir logo tasarım uygulaması.
Oyun Geliştirme
• Oyunlardaki karakterler, arka planlar ve diğer görsel öğelerin oluşturulması.
• Örnek: 2D platform oyunları için karakter ve engel çizimleri.
Bilimsel ve Teknik Uygulamalar
• Teknik çizimler, modeller veya diyagramlar için grafik nesneler kullanılır.
• Örnek: Elektrik devre tasarım uygulamaları, mühendislik simulasyonları.
Aynı Sınıfa Tanımlanan Verilerde Değişiklik Yapmanın Sağladığı Kolaylıklar ve Örnek
Projeler
Kaynak: [Link]

Tek Merkezden Değişiklik Yapma Kolaylığı

Senaryo:

Bir e-ticaret uygulaması geliştiriyorsunuz. Her ürün için bir Urun


sınıfınız var ve bu sınıfta ürünün fiyatı, adı ve stok miktarı tutuluyor.

Kolaylık:

Sınıf içinde değişiklik yaparak tüm ilgili nesneleri güncelleyebilirsiniz.


Örneğin:
• Fiyat hesaplama yöntemi değiştiğinde, yalnızca sınıfta
değişiklik yapmanız yeterlidir.
• Programın diğer bölümleri bu sınıfa bağlı olduğu için kodun
geri kalanında güncelleme yapmanıza gerek kalmaz.
Aynı Sınıfa Tanımlanan Verilerde Değişiklik Yapmanın Sağladığı Kolaylıklar ve Örnek
Projeler
Kaynak: [Link]

Kapsülleme (Encapsulation) ile Güvenli Veri Güncelleme

Senaryo:
Bir bankacılık sisteminde müşteri bilgilerini (Musteri) saklıyorsunuz. Bu
sınıfta müşteri adı, hesap bakiyesi ve PIN kodu bulunuyor.

Kolaylık:
Kapsülleme sayesinde verilere doğrudan erişim yerine metotlarla
erişilir:
• get_bakiye() ve set_bakiye() gibi metotlar, verilerin
doğruluğunu ve güvenliğini sağlar.
• Örneğin, negatif bir bakiye değerinin atanmasını
engelleyebilirsiniz.
Aynı Sınıfa Tanımlanan Verilerde Değişiklik Yapmanın Sağladığı Kolaylıklar ve Örnek
Projeler
Kaynak: [Link]

Kodun Tekrar Kullanılabilirliğini Artırma

Senaryo:
Bir oyun geliştirdiniz ve karakter özelliklerini (Karakter) bir sınıfta
topladınız. Her karakterin adı, gücü ve can puanı bulunuyor.

Kolaylık:
Tüm karakterler aynı sınıftan türetildiği için bir özelliği (örneğin, can
puanı hesaplama) değiştirdiğinizde tüm karakterler otomatik olarak
etkilenir. Tek tek her nesne için değişiklik yapmanız gerekmez.
Aynı Sınıfa Tanımlanan Verilerde Değişiklik Yapmanın Sağladığı Kolaylıklar ve Örnek
Projeler
Kaynak: [Link]

Kodun Okunabilirliği ve Yönetilebilirliği

Senaryo:
Bir araba kiralama uygulamasında her araç için bir Araba sınıfı
tanımladınız. Bu sınıfta aracın marka, model ve günlük kira fiyatı gibi
özellikleri var.

Kolaylık:
Veriler bir sınıfta toplandığı için sistemdeki her araç nesnesinin
özellikleri merkezi bir noktadan düzenlenebilir.
Bu, büyük projelerde kodun daha anlaşılır ve düzenli olmasını sağlar.
Aynı Sınıfa Tanımlanan Verilerde Değişiklik Yapmanın Sağladığı Kolaylıklar ve Örnek
Projeler
Kaynak: [Link]

Kalıtımla (Inheritance) Verileri Güncelleme Kolaylığı

Senaryo:
Bir ulaşım uygulaması yapıyorsunuz. Arac temel sınıfından Otomobil ve
Otobus sınıfları türettiniz. Arac sınıfında motor hacmi ve yakıt türü gibi
genel özellikler var.

Kolaylık:
Eğer Arac sınıfında bir değişiklik yaparsanız, bu değişiklik Otomobil ve
Otobus sınıflarını da otomatik olarak etkiler.
Kodun farklı yerlerinde aynı bilgiyi değiştirmek yerine, temel sınıfta
yapılan bir değişiklik yeterli olur.
Aynı Sınıfa Tanımlanan Verilerde Değişiklik Yapmanın Sağladığı Kolaylıklar ve Örnek
Projeler
Kaynak: [Link]

Metotlarla Dinamik Değişiklik Yapma

Senaryo:
Bir öğrenci yönetim sistemi için bir Ogrenci sınıfı oluşturuldu. Sınıfta
öğrenci adı, notlar ve mezuniyet durumu gibi özellikler var.

Kolaylık:
Öğrenci mezuniyet durumu gibi bir bilgiyi hesaplamak için sınıfın bir
metodunu kullanabilirsiniz (mezuniyet_durumu_hesapla()).
Not güncellendiğinde mezuniyet durumu otomatik olarak değişir. Her
güncellemede elle kontrol yapmanıza gerek kalmaz.
Aynı Sınıfa Tanımlanan Verilerde Değişiklik Yapmanın Sağladığı Kolaylıklar ve Örnek
Projeler
Kaynak: [Link]

Esneklik ve Ölçeklenebilirlik

Senaryo:
Bir restoran sipariş sistemi tasarlıyorsunuz. Siparis sınıfında yemek adı,
miktar ve toplam fiyat gibi özellikler var.

Kolaylık:
Sınıfta yapılan bir değişiklik sistemi daha esnek hale getirir. Örneğin,
indirim oranı eklemek isterseniz, Siparis sınıfına bir nitelik veya metot
eklemeniz yeterlidir. Kodun geri kalanı bu değişiklikten etkilenmez.
Örnek çalışma yapınız.

Bir sınıf oluşturarak bu sınıflar


içinde nesneler oluşturunuz.

Kaynak: [Link]
Python'un Açık Kaynak Yapısı ve Geniş
Kütüphane Desteği
Python, açık kaynaklı bir programlama dili olduğu için dünya
çapında birçok geliştirici tarafından katkı sağlanarak geniş bir
kütüphane ekosistemi oluşturulmuştur.

Bu kütüphaneler sayesinde sıfırdan her şeyi yazmak gerekmez;


ihtiyaç duyulan birçok özellik hazır olarak sunulmaktadır.

Python’da en çok kullanılan standart kütüphaneler arasında


time ve random modülleri bulunur.

Kaynak: [Link]
time Modülü ve Örnek Kullanımı

time modülü, zamanla ilgili işlemler yapmak için


kullanılır. Tarih ve saat bilgilerine erişmek,
işlemleri belli bir süre durdurmak veya zaman
ölçümleri yapmak için bu modülden yararlanılır.

Kaynak: [Link]
Örnek: Bir Programın Çalışma Süresini Ölçmek

Kaynak: [Link]
Örnek: İşlemi Belirli Süre Bekletmek

Kaynak: [Link]
random Modülü ve Örnek Kullanımı

random modülü, rastgele sayı üretme ve seçim


yapma işlemleri için kullanılır. Özellikle oyun
geliştirme, simülasyonlar ve test verileri
oluşturmak için oldukça faydalıdır.

Kaynak: [Link]
Örnek: Rastgele Sayı Üretmek

Kaynak: [Link]
Örnek: Bir Listeden Rastgele Seçim Yapmak

Kaynak: [Link]
Örnek: str Sınıfının Kullanımı

Kaynak: [Link]
Modül Kavramı

Python'da modül, birden fazla fonksiyon, sınıf ve


değişkeni bir araya toplayan ve başka programlarda
kullanılabilir hale getiren dosyalardır.

Modüller sayesinde kod tekrarını önler, düzenli ve


modüler bir yapı kurarız.

Python'da modüller, genellikle bir .py dosyası


şeklindedir.

Kaynak: [Link]
Modülün Programa Dahil Edilmesi
Python'da bir modülü programa dahil etmek için import anahtar kelimesi
kullanılır.

Örnek: Hazır Bir Modül Kullanımı

Kaynak: [Link]
Kendi Modülümüzü Oluşturma
Python'da kendi modülünüzü yazabilirsiniz. Örneğin, [Link] adında bir
dosya oluşturup içine özel fonksiyonlar ekleyelim.
Adım 1: Modül Dosyasını Adım 2: Modülü Başka Bir Programda
Oluşturma ([Link]) Kullanma

Kaynak: [Link]
ÖRNEK PROJE

Python dilinde ileri düzey nesne yönelimli programlama (OOP) tekniklerini


kullanarak yazılmış bir örnek program

Bu örnek, kapsülleme, kalıtım ve çok biçimlilik gibi OOP ilkelerini içermektedir.

Örnek Program: Bir Hayvanat Bahçesi Yönetim Sistemi

Bu programda, hayvanların sınıfları oluşturulacak ve farklı hayvan türleri


arasında kalıtım kullanılacaktır.

Ayrıca, kapsülleme tekniği ile veriler gizlenecek ve çok biçimlilik (polimorfizm)


ile aynı işlevi farklı türlerdeki nesnelerle gerçekleştireceğiz.

Kaynak: [Link]
ÖRNEK PROJE

Devamı var...

Kaynak: [Link]
ÖRNEK PROJE

Devamı var...

Kaynak: [Link]
ÖRNEK PROJE

Devamı var...

Kaynak: [Link]
ÖRNEK PROJE
Çok Biçimlilik (Polimorfizm)
Şimdi, Hayvan sınıfından türetilen Kedi ve Köpek nesnelerini oluşturup, her iki
nesnenin ses_cikar metodunu çağırarak çok biçimliliği (polimorfizmi) gösterelim.

Kaynak: [Link]
List (LİSTELER)

Python’daki liste veri türü, birden fazla öğeyi bir arada tutmak için
kullanılan bir veri yapısıdır.

Listeler sıralı (ordered), değiştirilebilir (mutable) ve tekrar edilebilir


(duplicate) öğeleri saklayabilir.

Listeler, farklı veri türlerinden öğeleri bir arada tutabilir, yani bir
listenin içerisinde sayılar, metinler, hatta diğer listeler bir arada yer
alabilir.

Kaynak: [Link]
List (LİSTELER)

Liste Özellikleri:

1.Sıralı (Ordered): Listede öğeler sırasıyla depolanır ve sıralama


korunur.

[Link]ğiştirilebilir (Mutable): Liste, program çalışırken değiştirilebilir.


Öğe ekleme, çıkarma, değiştirme gibi işlemler yapılabilir.

[Link] Edilebilir (Duplicate): Aynı öğe bir listede birden fazla kez
bulunabilir.

[Link]: Bir listenin öğeleri, farklı veri türlerinde olabilir (örneğin,


sayı, metin, boolean vb.).

Kaynak: [Link]
LİSTE TANIMLAMASI VE KULLANIMI

Kaynak: [Link]
Liste İşlemleri:

Devamı var...

Kaynak: [Link]
Liste İşlemleri:

Kaynak: [Link]
TUPLE (DEMETLER)

Python'daki tuple (demet) veri türü, list veri türüne çok benzer ancak bazı
önemli farklar vardır.

Benzerlikler:

Sıralı (Ordered): Tıpkı listeler gibi, tuple'lar da sıralıdır. Öğeler belirli bir
sırayla saklanır ve bu sıralama korunur.

Farklı Veri Türlerini Saklama: Listeler gibi, tuple'lar da farklı veri


türlerinden öğeler içerebilir.

İçeriğine Erişim: Hem listelerde hem de tuple'larda öğelere indeks


numarasıyla (0'dan başlayan bir sıra ile) erişilebilir.

Kaynak: [Link]
TUPLE (DEMETLER)

Python'daki tuple (demet) veri türü, list veri türüne çok benzer ancak bazı
önemli farklar vardır.

Farklar:

Değiştirilemezlik (Immutable): Listeler değiştirilebilirken (yeni eleman


ekleme, çıkarma, değiştirme), tuple'lar değiştirilemez. Yani, tuple'da bir
öğe eklemek veya çıkarmak mümkün değildir.

Kapanma: Listeler [] köşeli parantezler ile tanımlanırken, tuple'lar ()


parantezleri ile tanımlanır.

Kaynak: [Link]
Tuple Tanımlaması ve Kullanımı:

Kaynak: [Link]
Tuple'ın Değiştirilemezliği:

Listelerde öğeler değiştirilebilirken, tuple'da bu yapı değiştirilemez. Aşağıdaki


örnekte, tuple'da veri değiştirmeye çalıştığımızda hata alırız.

Kaynak: [Link]
Tuple'da Veri Ekleyemez veya Çıkartamazsınız

Kaynak: [Link]
Tuple'da Veri Okuma

Tuple'daki verilere sadece okuma amacıyla erişebilirsiniz, ancak veri üzerinde


herhangi bir değişiklik yapamazsınız.

Kaynak: [Link]
BİR TUPLE ÖRNEĞİ
OLUŞTURUNUZ!

Kaynak: [Link]
SET (KÜMELER)

Set (küme) veri türü, Python'da sırasız, yinelenen öğelere izin vermeyen ve
değiştirilebilir bir veri türüdür. Bir kümenin temel özellikleri şunlardır:

1.Sırasızdır (Unordered): Küme elemanlarının belirli bir sıralaması yoktur.

[Link] Elemanlara İzin Vermez: Aynı öğe birden fazla kez eklenemez.

[Link]ğiştirilebilir (Mutable): Eleman eklenip çıkarılabilir.

4.Hızlıdır: Elemanların varlığını kontrol etme veya ekleme gibi işlemler hızlı bir
şekilde gerçekleştirilir.

Kaynak: [Link]
SET (KÜMELER)

ÖRNEK

Kaynak: [Link]
SET (KÜMELER)

YİNELENEN ÖGELERİN ATILMASI

Kaynak: [Link]
SET (KÜMELER)

ELEMAN EKLEME ÇIKARMA

Kaynak: [Link]
SET (KÜMELER)

KESİŞİM BİRLEŞİM İŞLEMLERİ

Kaynak: [Link]
SET (KÜMELER)

ELEMAN VARLĞINI KONTOL ETME

Kaynak: [Link]
Dictionary (sözlük)

Dictionary (sözlük), Python'da anahtar-değer


(key-value) çiftleri ile çalışan bir veri türüdür.

Bu yapıda, her anahtar bir değere karşılık gelir


ve bu anahtarlar benzersiz olmalıdır.

Sözlükler, veri erişimini hızlı bir şekilde


sağlamak için kullanılır.

Kaynak: [Link]
Dictionary (sözlük)

ÖRNEK

Kaynak: [Link]
Dictionary (sözlük)

UYGULAMA

Bir kitabın adını, yazarını, basım


yılını ve türünü tutan bir sözlük
tanımlayın ve yazdırın.

Kaynak: [Link]
Dosya Nesneleri ve Veri Depolama

Python'programında dosya nesneleri, bir çalışması sırasında


verileri uzun süreli olarak depolamak veya var olan verilerle
işlem yapmak için kullanılır.

Bu yöntem sayesinde verilerin kalıcılığı sağlanır.

Programın hafızasında tutamayacağı kadar büyük veriler,


dosyalarda saklanabilir.

Dosyalar aracılığıyla veriler okunabilir, işlenebilir ve


düzenlenebilir.

Kaynak: [Link]
Metin Dosyalarında İşlemler

Dosya Açma
Python'da dosyalar open() fonksiyonu ile açılır. Dosya açma
modları:

'r': Okuma (varsayılan)

'w': Yazma (var olan dosyayı siler, yeniden yazar)

'a': Ekleme (mevcut dosyaya veri ekler)

'x': Yeni bir dosya oluşturur (varsa hata verir)

Kaynak: [Link]
ÖRNEKLER

Kaynak: [Link]
ÖRNEKLER

Kaynak: [Link]
ÖRNEKLER

Kaynak: [Link]
ÖRNEKLER

Kaynak: [Link]
ÖRNEKLER – DOSYAYI SİLME

Kaynak: [Link]
LİSTELERİ DOSYAYA YAZDIRMA

Kaynak: [Link]
DOSYADAKİ VERİYİ LİSTEYE TANIMLAMA

Dosya İçeriği Kod

Kaynak: [Link]
Dosya işlemlerinde with as, tell, ve seek metotları

ÇIKTI

Kaynak: [Link]
PROJE TASARLAYIN

Sınıf ve nesneleri kullanarak özgün bir proje tasarlayın.


Proje aşamasında aşağıdakileri uygulayın

Dosya nesneleriyle işlemler yapın.

Hata ayıklama yöntemlerini uygulayın

Tkinter grafik arayüzü oluşturun.

Projenizi tanıtın, yaşadığınız problemleri anlatın!

Kaynak: [Link]
Python’da grafik arayüzü

Python'da grafik arayüzleri (GUI - Graphical User


Interface) oluşturmak için çeşitli hazır kütüphaneler ve
araçlar mevcuttur.

Bu araçlar, kullanıcıların görsel öğelerle etkileşime


geçebileceği uygulamalar geliştirmeyi kolaylaştırır.

Kaynak: [Link]
Python’da grafik arayüzü

Python'da en yaygın kullanılan GUI


kütüphanelerinden bazıları şunlardır:

Tkinter

PyQt / PySide

Kivy

wxPython

Kaynak: [Link]
Tkinter örnek kullanım

Kaynak: [Link]
Tkinter örnek kullanım

Kaynak: [Link]
Kaynak: [Link]

PYTHON 3.ÜNİTESİ VE
KONULARIN TAMAMI
SONA ERDİ!

You might also like