PYTHON Programlama (Proje Tabanlı)

 


Kurs Saati: 40 saat (8 gün)

Ön Koşul: Herhangi bir ön koşulu yoktur.

• Niçin Python?

  • Programlama Dillerinin Tarihsel Gelişimi
  • Python Programlama Dilinin Tarihsel Gelişimi
  • Python Gerçekleştirimleri ve Python Dağıtımları
  • Python Programlama Dilinin Temel Özellikleri
  • Python Ortamının Kurulumu
  • Derleyici (Compiler) ve Yorumlayıcı (Interpreter) Farkı
  • .py, .pyc, .ipynb dosyaları ve farkları


• Python Programlama Diline Merhaba

  • Komut Yorumlayıcı Ortamda (REPL) Çalışma
  • Yorumlayıcılar ve # karakteri 
  • Docstrings
  • Python’da Temel Veri Tipleri
  • Python’da Tip Dönüşümü
  • Değiştirilebilir (Mutable) ve Değiştirilemez (Immutable) Tür Kavramları
  • Python’ da Değişken ve Sabit Tanımlamaları
  • PEP8 Önerileri
  • Fonksiyon ve Metot Kavramları
  • Built-in Fonksiyon ve Sınıf Kavramları
  • Operatör Kavramı, Operatörler Arasındaki Öncelik İlişkileri
  • Python’da Kimlik Operatörleri
  • input ve print Fonksiyonlarının Ayrıntıları
  • Escape Karakterleri

Veri Yapıları

  • Dolaşılabilir (Iterable) Nesne Kavramı
  • range Fonksiyonu
  • len,  in İşlevleri
  • Diziler (Arrays)
  • Listeler (Lists)
  • Dizi - Liste Farkı
  • Listeler Üzerinde İşlemler
  • Listeler Üzerinde Dilimleme İşlemleri (List Slicing)
  • Listelerin Açılması (List Unpacking)
  • Listelerle Çok Boyutlu Dizilerin Oluşturulması
  • Demetler (Tuples)
  • Demetler Üzerinde İşlemler
  • Demetlerin Açılması (Tuple Unpacking)
  • Kümeler (Sets)
  • Kümeler Üzerinde İşlemler
  • Değiştirilemez Kümeler (Frozen Sets)
  • Sözlükler (Dicts)
  • Sözlükler Üzerinde İşlemler
  • String’ler
  • String’ler Üzerinde İşlemler
  • String’lerin Dilimlenmesi
  • Proje: Verilen bir listeden istenmeyen kelimeleri veya karakterleri temizleme
  • Proje: Yazıcı tasarımı

 • Python’da Karar ve Koşul Yapıları

  • if, else, elif Deyimleri
  • match case Yapısı
  • while Döngüleri
  • for Döngüleri
  • break ve continue Deyimleri
  • Koşul Operatörleri
  • pass Deyimi
  • Proje: Dijital Kronometre

• Fonksiyonların Tanımlanması ve Fonksiyonlarla İşlemler

  • def ile kendi fonksiyonunu tanımlama
  • Argüman-Parametre Farkı
  • Fonksiyonların Parametre Değişkenleri
  • Fonksiyonların *’lı ve **’lı Parametreleri
  • Fonksiyon Çağrılarında Argümanların Kullanımı
  • *’lı **’lı Argümanlar
  • Fonksiyon Parametrelerinde Tür Kontrolü
  • Özyinelemeli Fonksiyon Tanımlamaları
  • İç İçe Fonksiyon Tanımlamaları
  • enumerate, reduce, map, filter ve zip Fonksiyonları
  • Proje: Python buit-in fonksiyonlarını yazma


• Modüller ve Paketler

  • Modüllerin Oluşturulması
  • Modüllerin import Edilmesi
  • Python Modül ve Script Farkı
  • Python’da Rastgele Sayıların Elde Edilmesi
  • Değişkenlerin Faaliyet Alanları (Scope) ve Ömürleri
  • LEGB Kuralı
  • bytes ve bytearray Türleri
  • Paket Kavramı
  • Paketlerin Oluşturulması ve import Edilmesi
  • Paketlerdeki _init_.py Dosyasının Anlamı
  • İç İçe Paketlerin Oluşturulması
  • pip ile paket kurulumu ve yönetimi
  • Proje: Metin seslendirme
  • Proje: Metin bulutunu resime dönüştürme

 • Comprehensions (Tek Satıra İndirgeme İşlemleri)


  • List Comprehensions
  • Set Comprehensions
  • Dictionary Comprehensions

• Üretici Fonksiyonlar ve Lambda İfadeleri

  • Üretici Fonksiyon (Generators) Kavramı
  • Üretici Fonksiyonların Tanımlanması ve Kullanılması
  • Lambda İfadeleri
  • Proje: LIFO | FIFO tabanlı bir hayvan barınağı 

• Exception Mekanizması ve Hata Yakalama

  • Python’da Exception Mekanizmasının Kullanımı
  • Exception’ların oluşturulması ve yakalanması
  • Exception Sınıflarının Yazılması
  • Çok Karşılaşılan Exception Sınıflar
  • Proje: Kendi exception sınıfını oluşturma 

• Dosya İşlemleri 

  • Dosya - Dizin İşlemleri
  • os, sys, shutil modülleri
  • Dosyaların Açılması ve Kapatılması
  • Dosyalarda Yazma ve Okuma İşlemleri
  • with deyimi
  • Text ve Binary Dosyalar
  • csv modülü ve dosya işlemleri
  • pandas modülü ile Excel dosyaları ile çalışmak
  • pandas modülü ile  JSON dosyaları ile çalışmak
  • pandas modülü ile HTML dosyaları ile çalışmak
  • PDF dosyaları ile çalışmak 
  • Proje : Dosya tabanlı bir sözlük | rehber programı
  • Proje: PDF dosyası üzerinde merge ve split işlemleri 

• Veritabanı İşlemleri

  • Veritabanı Nedir?
  • Temel SQL Sorguları
  • SQL - NoSQL Farkı
  • sqlite ile çalışmak,
  • pandas modülü ile veritabanı işlemleri,
  • Web scraping işlemleri
  • Proje : Veritabanı tabanlı öğrenci | müşteri takip programı

Eğitim Dili:
Eğitim materyalleri Türkçe-İngilizce olup anlatım Türkçe yapılacaktır.
Eğitim Yeri:
Eğitim online (uzaktan) yapılacaktır.
Eğitmen:
Dr. Bülent Çobanoğlu