Python Programlama Dili


Genel Tanıtım
Python genel amaçlı, nesne yönelimli, fonksiyonel özellikleri olan, çok modelli ve nispeten kolay öğrenilebilen bir programlama dilidir. Özellikle veri analizinde ve çözümlenmesinde, yapay zeka ve makine öğrenmesinde tercih edilmektedir. Bu özellikleri nedeniyle Python Programlama Dilinin popülaritesi özellikle son yıllarda popülaritesi oldukça artmıştır.

Kursun temel özellikleri şöyle betimlenebilir:
Bu kurs Python Programlama Dilini ayrıntılı biçimde uygulamalı olarak öğretmeyi hedeflemektedir. Aynı zamanda bu kurs Yapay Zeka ve Makine Öğrenmesi kursu için de bir ön aşama olarak işlev görmektedir.
Kurs Python Programlama Dilini ayrıntılı biçimde ve uygulamalı olarak öğretme iddiasındadır.
Kurs Yapay Zeka ve Makine Öğrenmesi kursu için bir hazırlık kursu işlevini de görmektedir.

• Temel Kavramlar
o Programlama Dillerinin Tarihsel Gelişimi
o Python Programlama Dilinin Tarihsel Gelişimi
o Python Dili, Python Gerçekleştirimleri ve Python Dağıtımları
o Python Programlama Dilinin Temel Özellikleri
o Python Neden Son Dönemlerde Popülerlik Kazanmıştır?
o Python Ortamının Kurulumu
o Temel Bilgisayar Mimarisi
o İşletim Sistemleri
o Gömülü Sistemler
o Çevirici Programlar (Translators), Derleyiciler (Compilers) ve Yorumlayıcılar (Interpreters)
o IDE Kavramı
o Mülkiyete Sahip Yazılımlar ve Açık Kaynak Kodlu Yazılımlar
o Doğal Kodlu ve Ara Kodlu Çalışma Sistemleri
o Dil Kavramı
o Dillerde Sentaks ve Semantik
o Bilgisayar Dilleri ve Programlama Dilleri
o Programlama Dillerinin Sınıflandırılması
o Programlama Dillerinin Sentakslarının Açıklanması İçin Kullanılan Notasyonlar
• Python Programlama Diline Giriş
o Komut Yorumlayıcı Ortamda (REPL) Çalışma
o Atom (Token) Kavramı ve Atomların Sınıflandırılması
o Boşluk Karakterleri (White Space)
o Dinamik Tür Sisteminin Anlamı
o Python’da Temel Veri Türleri
o Değiştirilebilir (Mutable) ve Değiştirilemez (Immutable) Tür Kavramları
o Python’da Değişkenlerin ve Nesnelerin Yaratılması
o Python’da Sabitler
o Adres Kavramı ve Nesnelerin Adresleri
o Değişkenler ve Nesneler Arasındaki İlişki
o Python’da Dinamik Tür Sisteminin Gerçekleştirilme Biçimi
o Python Standart Kütüphanesi Nedir ve Nelerden Oluşmaktadır?
o Fonksiyon ve Metot Kavramları
o Built-in Fonksiyon ve Sınıf Kavramları
o Operatör Kavramı, Operatörler Arasındaki Öncelik İlişkileri
o Python’da Operatörler
o Tür Dönüştürmeleri
o input ve print Fonksiyonlarının Ayrıntıları
o Python Programlarının Yazılması ve Çalıştırılması
• Python’da Temel Veri Yapıları
o Dolaşılabilir (Iterable) Nesne Kavramı
o range Fonksiyonu
o Listeler
o Listeler Üzerinde İşlemler
o Listeler Üzerinde Dilimleme İşlemleri (List Slicing)
o Listelerin Açılması (List Unpacking)
o Listelerle Çok Boyutlu Dizilerin Oluşturulması
o Demetler (Tuples)
o Demetler Üzerinde İşlemler
o Demetlerin Açılması (Tuple Unpacking)
o Kümeler (Sets)
o Kümeler Üzerinde İşlemler
o Değiştirilemez Kümeler (Frozen Sets)
o Sözlükler (Dictionaries)
o Sözlükler Üzerinde İşlemler
o String’ler
o String’ler Üzerinde İşlemler
o String’lerin Dilimlenmesi
o len Fonksiyonu ve in Opereratörünün İşlevleri
• Python’da Deyimler (Statements)
o Farklı Türlerin Birbirleriyle İşleme Sokulması
o Satırların Girinti Düzeyleri (Indent Level)
o Deyim Kavramı ve Deyimlerin Sınıflandırılması
o İfadesel Deyimler (Expression Statements)
o Bileşik Deyimler (Compound Statements)
o Suite Kavramı
o if Deyimi
o while Döngüleri
o for Döngüleri
o break ve continue Deyimleri
o Koşul Operatörü
o pass Deyimi
• Fonksiyonların Tanımlanması ve Fonksiyonlarla İşlemler
o Fonksiyonların Tanımlanması ve Fonksiyon Nesneleri
o Fonksiyon İsimlerinin Anlamı
o Fonksiyonların Parametre Değişkenleri
o Fonksiyonların *’lı ve **’lı Parametreleri
o Fonksiyon Çağrılarında Argümanların Kullanımı
o *’lı **’lı Argümanlar
o Fonksiyon Parametrelerinde Tür Kontrolü
o İç İçe Fonksiyon Tanımlamaları
• Modüller
o Modüllerin Oluşturulması
o Modüllerin import Edilmesi
o Modül İsimlerinin Anlamı
o sys.path Listesinin Anlamı
o Python Programlarında Çalışma Dizinlerinin Değiştirilmesi
o Modülün import Edilmesiyle Çalıştırılması Arasındaki Farklar
• Tamamlayıcı Konular
o Python’da Rastgele Sayıların Elde Edilmesi
o Değişkenlerin Faaliyet Alanları (Scope)
o Değişkenlerin Ömürleri
o enumerate, map, filter ve zip Fonksiyonları
o Python Yorumlayıcısında İsim Arama Mekanizması
o bytes ve bytearray Türleri
o Permütasyon ve Kombinasyon İşlemleri
• İçlemler (Comprehensions)
o İçlemlerin Genel Sentaks Biçimleri
o Liste İçlemleri (List Comprehensions)
o Küme İçlemleri (Set Comprehensions)
o Sözlük İçlemleri (Dictionary Comprehensions)
o İçlemler nerede Kullanılır ve İçlemlere Neden Gereksinim Duyulmaktadır?
• Sınıflar
o Nesne Yönelimli Programlama Modeli ve Sınıf Kavramı
o Sınıfların Tanımlanması
o Sınıflar Türünden Nesnelerin Yaratılması
o Sınıf Değişkenleri
o Metotların Tanımlanması ve self Parametresinin Anlamı
o Sınıfların Dunder (Başında ve Sonunda İki Alt Tire Bulunan) Metotları
o Sınıfların _new_ ve _init_ Metotları
o Python Standart Kütüphanesindeki Yardımcı Sınıflarla İlgili Alıştırmalar
o Sınıfların Öznitelikleri (Class Attributes)
o Sınıfların Örnek Öznitelikleri (Instance Attributes)
o Sınıf İsimlerinin Anlamı
o Nesne Yönelimli Programlama Tekniğinde Sınıflar Arasındaki İlişki Biçimleri
o Sınıflarda Türetme İşlemleri (Inheritance)
o Çoklu Türetmeler (Multiple Inheritance)
o Türetme Durumlarında Taban Sınıfın _init_ Metodunun Çağrılması
o super Fonksiyonu
o Sınıflarda Kapsülleme (Encapsulation)
o Çokbiçimlilik (Polymorphism)
o Sınıfların _str_ ve _repr_ Metotları
o Python’da Çöp Toplayıcı Mekanizma
o Deterministik Çöp Toplama ve Sınıfların _del_ Metotları
o Operatör Metotları
o Sınıfların Statik Metotları
o Sınıfların Sınıf Metotları
o Sınıflardaki Diğer Özel Dunder Metotları
o Dolaşılabilir (Irterable) Sınıfların Oluşturulması
o Property Kavramı ve Property Kullanımı
o Betimleyiciler
o Sınıfların _get_, _set_ ve _delete_ Metotları
• Dekoratörler
o Dekoratörlerin Anlamı
o Fonksiyon Dekoratörleri
o Sınıf Dekoratörleri
o Önemli sınıf Dekaratörleri
• Exception Mekanizması
o Python’da Exception Mekanizmasının Kullanımı
o Exception’ların oluşturulması ve yakalanması
o Exception Sınıflarının Yazılması
o Çok Karşılaşılan Exception Sınıfları
o with deyimi
• Python’da Dosya İşlemleri
o Dosya İşlemleri
o Dosyaların Açılması ve Kapatılması
o Dosyalarda Yazma ve Okuma İşlemleri
o Text ve Binary Dosyalar
o Text Dosyalarda Karakter Kodlaması (Character Encoding)
o Karakter Kodlama Dönüştürmeleri
• Üretici Fonksiyonlar ve Lambda İfadeleri
o Üretici Fonksiyon (Generators) Kavramı
o Üretici Fonksiyonların Tanımlanması ve Kullanılması
o Lambda İfadeleri
• Diğer Önemli Built-In Fonksiyonlar
o eval Fonksiyonu
o exec Fonksiyonu
o compiler Fonksiyonu
o property Fonksiyonu
o locals Fonksiyonu
• Python’da Paketler (Packages)
o Paket Kavramı
o Paketlerin Oluşturulması ve import Edilmesi
o Paketlerdeki _init_.py Dosyasının Anlamı
o İç İçe Paketlerin Oluşturulması
o Paket Yönetimi

Ön Koşul : Daha önce herhangi bir programlama dili ile çalışmış olmak

*Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.

* Kurs ücreti duyuru sayfasında belirtilmektedir.