Python ile Bilgisayar Programlamaya Giriş
Açıklama
Bu proje, Python programlama dilini yeni öğrenenler için bir giriş rehberidir. Anaconda Jupyter Notebooks kullanılarak hazırlanmış olan bu proje, Python'ın temellerini ve ileri düzey kavramlarını kapsamaktadır.
Ders dosyalarının kullanılması
Bu dosyalara kendi bilgisayarınızda erişim sağlamak için Anaconda ve Jupyter'i bilgisayarınıza kurmuş olmanız gerekmektrdir.
Anacondayı aşağıdaki adresten indirebilirsiniz.
https://www.anaconda.com/download
Anacondanın kurulumu, bu repository içerisinde 001 Python Genel Kültürü/002 Python Çalışma Ortamı.pdf dosyasında yer almaktadır.
Anaconayı kurduktan sonra Jupyter'i çalıştırın.
Bilgisayarınızda Jupyter'in açıldığı kök klasöre bu repositoriyi klonlayın.
Jupyteri çalıştırın ve dosyalara erişin.
Ders İçeriği
Ders, aşağıdaki ana dallara ayrılmıştır:
- Python Genel Kültürü
- Eğitime Hazırlık Tanışma Pythona Giriş
- Python Geliştirme Ortamının Kurulması
- Bilgisayar Temelleri
- Jupyter Notebook İle Çalışmak
- Python Nasıl Çalışır?
- Python Veri Tipleri
- Pythonda Değişkenler ve Değişken Tanımlama
- Python'da Temel Veri Tipleri
- Tam Sayılar (Integers)
- Ondalıklı Sayılar (Floats)
- Kompleks Sayılar
- Karakter Dizileri (String İfadeler)
- Karakter Dizileri İndis Numarası ve Parçalama
- String İşlemleri
- String Metotları
- String Formatlama ve F String
- Python'da Yorum Satırları
- Türleri Yönetmek
- Sık Kullanılan buit-in Fonksiyonlar
- Print Fonksiyonu
- Pythonda Özel Karakterler
- Input Fonksiyonu
- Diğer Fonksiyonlar
- Operatörler
- Matematik Operatörleri
- Mantıksal Operatörler ve Karşılaştırma Operatörleri
- Math Sınıfı ve Matematik Metotları
- UYGULAMA - Sıcaklık Birimleri Dönüşümleri
- UYGULAMA - 2_nci Dereceden Verilen Bir Denklemin Koklerini Bulma
- UYGULAMA - Basit Bir Hesap Makinesi
- Derleme zamanı veri tipleri
- Yığın (Stack) ve Sıra (Queue) Kavramları
- Listeler
- Liste Metotları
- Listeler - Yığın (Stack) ve Sıra (Queue) Kullanımı
- Mutable (Değiştirilebilir) ve Immutable (Değiştirilemeyen) Kavramları
- Demetler (Tuples)
- Demet Metotları
- Sözlükler
- Sözlük Metotları
- Kümeler (Sets)
- Küme Metotları
- Karar Mekanizmaları
- Girintilerin Kullanımı
- Koşullu Durumlar-1 if-else
- Koşullu Durumlar-2 elif kullanımı
- Uygulama-Not değerlerini hareflere çevirme uygulaması
- Uygulama-Garip Sayıyı Bulalım
- Uygulama- Bir sayının Başka bir Sayıya Tam Bölünüp Bölünmediğini Bulalım
- Uygulama- TC Kimlik Numarası Doğrulama
- Döngüler
- While Döngüsü
- For Döngüsü
- Break ve Continue İfadeleri
- İç İçe Döngüler
- List Comprehension Kullanımı
- Dictionary ve Set Comprehensions
- Uygulama- Fibonacci Serisi
- Uygulama-Faktöriyel Alma
- Uygulama-Kullanıcı Grişi
- Mükemmel Sayı
- Pythonda Döngü Nasıl Oluşur
- Fonksiyonlar - I
- Fonksiyonlara Giriş
- Uygulama -faktöriyel Alan Bir Fonksiyon Yazalım
- Fonksiyonlarda Parametreler
- Fonksiyonlarda Return
- Uygulama-Asal Sayı Kontrolü
- Uygulama Tam Bölenleri Bulma
- Uygulama Ebob
- Fonksiyonlar - II
- Lambda Fonksiyonları
- Recursive Fonksiyonlar
- Recursive Örnek Binary Search
- Atanmış değişkenleri Kullanarak Rekürsif Lambda Oluşturmak
- İç İçe Fonksiyonlar
- Argüman geçişi ve değişkenlik
- Pythonda Kapanışlar
- Global ve Yerel Değişkenler
- Yerel ve Global Değişkenlerin Kullanımı
- Hatalar ve İstisnalar
- Hatalar ve İstisnalar
- İstisnaları Yeniden Yükseltme
- Çoklu İstisnaları Yakalama
- İstisnalarda Else Kulanımı
- İstisnaları Yükseltme (Raise) ve Özel istisna Türleri Oluşturma
- İstisna işlemenin pratik örnekleri
- Finally Cümlesi
- Zincir İstisnalar
- Dosya İşlemleri
- Dosya Açma İşlemleri
- Dosya Okuma İşlemleri
- Dosyalarda Değişiklik Yapmak
- Dosya Fonksiyonları
- Namespace Kavramı
- Modüller ve Paketler
- Modüller ve Fonksionlar
- Modülleri Devreye Almak-1 Sistem Modülleri
- Modülleri Devreye Almak-1 Kullanıcı Tanımlı Modüller
- Paketler (Packages)
- Üçüncü Parti Paketler
- Örnek API Uygulaması
- Sınıflar ve Objeler
- Object Oriented Programming-Nesne Tabanlı Programlama
- Sınıf Kavramı
- Metotlar
- Bağlı, ilişkisiz ve statik metotlar
- Özel Metotlar
- Kalıtım
- Çoklu Kalıtım
Bu repositorinin hedefleri şunlardır:
- Python programlama dilinin temellerini ve ileri düzey kavramlarını öğretmek
- Python ile programlama yapabilme yeteneği kazandırmak
- Python programlama dilinin pratik uygulamalarını göstermek
Proje Geliştirme
Proje, sürekli olarak geliştirilmektedir. Gelecekte projeye yeni içerikler eklenecek ve mevcut içerikler güncellenecektir.
Ders Kaynakları
Ders için aşağıdaki kaynaklardan yararlanılmıştır:
- Python Documentation: https://docs.python.org/3/
- Learn Python: https://www.learnpython.org/
- Python Tutorial: https://docs.python.org/3/tutorial/
- Python for Beginners: https://www.pythonforbeginners.com/
Ders Kullanıcıları
Proje, Python programlama dilini yeni öğrenenler için tasarlanmıştır. Proje, Python ile programlama öğrenmek isteyen herkes için faydalı olacaktır.
Proje Katkıları
Projeye katkıda bulunmak isteyen herkes, aşağıdaki yollardan birini kullanabilir:
- Hataları bildirmek için GitHub Issues'i kullanın.
- Yeni içerikler eklemek için pull request gönderin.
- Projeyi sosyal medyada paylaşın.
Deneme