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
Programlama Dillerinin Tarihsel Gelişimi
Python Programlama Dilinin Tarihsel Gelişimi
Python Dili, Python Gerçekleştirimleri ve Python Dağıtımları
Python Programlama Dilinin Temel Özellikleri
Python Neden Son Dönemlerde Popülerlik Kazanmıştır?
Python Ortamının Kurulumu
Temel Bilgisayar Mimarisi
İşletim Sistemleri
Gömülü Sistemler
Çevirici Programlar (Translators), Derleyiciler (Compilers) ve Yorumlayıcılar (Interpreters)
IDE Kavramı
Mülkiyete Sahip Yazılımlar ve Açık Kaynak Kodlu Yazılımlar
Doğal Kodlu ve Ara Kodlu Çalışma Sistemleri
Dil Kavramı
Dillerde Sentaks ve Semantik
Bilgisayar Dilleri ve Programlama Dilleri
Programlama Dillerinin Sınıflandırılması
Programlama Dillerinin Sentakslarının Açıklanması İçin Kullanılan Notasyonlar

Python Programlama Diline Giriş

Komut Yorumlayıcı Ortamda (REPL) Çalışma
Atom (Token) Kavramı ve Atomların Sınıflandırılması
Boşluk Karakterleri (White Space)
Dinamik Tür Sisteminin Anlamı
Python’da Temel Veri Türleri
Değiştirilebilir (Mutable) ve Değiştirilemez (Immutable) Tür Kavramları
Python’da Değişkenlerin ve Nesnelerin Yaratılması
Python’da Sabitler
Adres Kavramı ve Nesnelerin Adresleri
Değişkenler ve Nesneler Arasındaki İlişki
Python’da Dinamik Tür Sisteminin Gerçekleştirilme Biçimi
Python Standart Kütüphanesi Nedir ve Nelerden Oluşmaktadır?
Fonksiyon ve Metot Kavramları
Built-in Fonksiyon ve Sınıf Kavramları
Operatör Kavramı, Operatörler Arasındaki Öncelik İlişkileri
Python’da Operatörler
Tür Dönüştürmeleri
Input ve print Fonksiyonlarının Ayrıntıları
Python Programlarının Yazılması ve Çalıştırılması

Python’da Temel Veri Yapıları

Dolaşılabilir (Iterable) Nesne Kavramı
Range Fonksiyonu
Listeler
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 (Dictionaries)
Sözlükler Üzerinde İşlemler
String’ler
String’ler Üzerinde İşlemler
String’lerin Dilimlenmesi
Len Fonksiyonu ve in Opereratörünün İşlevleri

Python’da Deyimler (Statements)

Farklı Türlerin Birbirleriyle İşleme Sokulması
Satırların Girinti Düzeyleri (Indent Level)
Deyim Kavramı ve Deyimlerin Sınıflandırılması
İfadesel Deyimler (Expression Statements)
Bileşik Deyimler (Compound Statements)
Suite Kavramı
If Deyimi
While Döngüleri
For Döngüleri
Break ve continue Deyimleri
Koşul Operatörü
Pass Deyimi

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

Fonksiyonların Tanımlanması ve Fonksiyon Nesneleri
Fonksiyon İsimlerinin Anlamı
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ü
İç İçe Fonksiyon Tanımlamaları

Modüller

Modüllerin Oluşturulması
Modüllerin import Edilmesi
Modül İsimlerinin Anlamı
Sys.path Listesinin Anlamı
Python Programlarında Çalışma Dizinlerinin Değiştirilmesi
Modülün import Edilmesiyle Çalıştırılması Arasındaki Farklar

Tamamlayıcı Konular

Python’da Rastgele Sayıların Elde Edilmesi
Değişkenlerin Faaliyet Alanları (Scope)
Değişkenlerin Ömürleri
Enumerate, map, filter ve zip Fonksiyonları
Python Yorumlayıcısında İsim Arama Mekanizması
Bytes ve bytearray Türleri
Permütasyon ve Kombinasyon İşlemleri

İçlemler (Comprehensions)

İçlemlerin Genel Sentaks Biçimleri
Liste İçlemleri (List Comprehensions)
Küme İçlemleri (Set Comprehensions)
Sözlük İçlemleri (Dictionary Comprehensions)
İçlemler nerede Kullanılır ve İçlemlere Neden Gereksinim Duyulmaktadır?

Sınıflar

Nesne Yönelimli Programlama Modeli ve Sınıf Kavramı
Sınıfların Tanımlanması
Sınıflar Türünden Nesnelerin Yaratılması
Sınıf Değişkenleri
Metotların Tanımlanması ve self Parametresinin Anlamı
Sınıfların Dunder (Başında ve Sonunda İki Alt Tire Bulunan) Metotları
Sınıfların _new_ ve _init_ Metotları
Python Standart Kütüphanesindeki Yardımcı Sınıflarla İlgili Alıştırmalar
Sınıfların Öznitelikleri (Class Attributes)
Sınıfların Örnek Öznitelikleri (Instance Attributes)
Sınıf İsimlerinin Anlamı
Nesne Yönelimli Programlama Tekniğinde Sınıflar Arasındaki İlişki Biçimleri
Sınıflarda Türetme İşlemleri (Inheritance)
Çoklu Türetmeler (Multiple Inheritance)
Türetme Durumlarında Taban Sınıfın _init_ Metodunun Çağrılması
Super Fonksiyonu
Sınıflarda Kapsülleme (Encapsulation)
Çokbiçimlilik (Polymorphism)
Sınıfların _str_ ve _repr_ Metotları
Python’da Çöp Toplayıcı Mekanizma
Deterministik Çöp Toplama ve Sınıfların _del_ Metotları
Operatör Metotları
Sınıfların Statik Metotları
Sınıfların Sınıf Metotları
Sınıflardaki Diğer Özel Dunder Metotları
Dolaşılabilir (Irterable) Sınıfların Oluşturulması
Property Kavramı ve Property Kullanımı
Betimleyiciler
Sınıfların _get_, _set_ ve _delete_ Metotları

 Dekoratörler

Dekoratörlerin Anlamı
Fonksiyon Dekoratörleri
Sınıf Dekoratörleri
Önemli sınıf Dekaratörleri

Exception Mekanizması

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ı
With deyimi

Python’da Dosya İşlemleri

Dosya İşlemleri
Dosyaların Açılması ve Kapatılması
Dosyalarda Yazma ve Okuma İşlemleri
Text ve Binary Dosyalar
Text Dosyalarda Karakter Kodlaması (Character Encoding)
Karakter Kodlama Dönüştürmeleri

Üretici Fonksiyonlar ve Lambda İfadeleri

Üretici Fonksiyon (Generators) Kavramı
Üretici Fonksiyonların Tanımlanması ve Kullanılması
Lambda İfadeleri

Diğer Önemli Built-In Fonksiyonlar

Eval Fonksiyonu
Xec Fonksiyonu
Compiler Fonksiyonu
Property Fonksiyonu
Locals Fonksiyonu

Python’da Paketler (Packages)

Paket Kavramı
Paketlerin Oluşturulması ve import Edilmesi
Paketlerdeki _init_.py Dosyasının Anlamı
İç İçe Paketlerin Oluşturulması
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.