# Python Öğreticisi

Python öğrenmesi kolay, güçlü bir yazılım dilidir. Verimli üst düzey veri yapılarına ve nesne yönelimli programlamaya basit ama etkili bir yaklaşıma sahiptir. Python’un zarif sözdizimi ve dinamik yazımı, yorumlanmış doğasıyla birlikte, onu çoğu platformda birçok alanda komut dosyası oluşturma ve hızlı uygulama geliştirme için ideal bir dil haline getirir.

The Python interpreter and the extensive standard library are freely available in source or binary form for all major platforms from the Python Web site, https://www.python.org/, and may be freely distributed. The same site also contains distributions of and pointers to many free third party Python modules, programs and tools, and additional documentation.

Python yorumlayıcısı, C veya C++’da (veya C’den çağrılabilen diğer dillerde) uygulanan yeni işlevler ve veri türleri ile kolayca genişletilebilir. Python, özelleştirilebilir uygulamalar için bir uzantı dili olarak da kullanılabilir.

Bu öğretici, okuyucuyu Python dilinin ve sisteminin temel kavramlarını ve özelliklerini gayriresmi olarak tanıtır. Uygulamalı deneyim için kullanışlı bir Python yorumlayıcıya sahip olmaya yardımcı olur, ancak tüm örnekler bağımsızdır, böylece öğretici de çevrimdışı olarak okunabilir.

Standart nesnelerin ve modüllerin açıklaması için The Python Standard Library ‘e bakınız. The Python Language Reference dilin daha resmi bir tanımını verir. Uzantıları C veya C++’ta yazmak için Extending and Embedding the Python Interpreter ve Python/C API Reference Manual ‘i okuyun. Python’ı derinlemesine kapsayan birkaç kitap da vardır.

Bu öğretici kapsamlı olmaya ve her bir özelliği, hatta yaygın olarak kullanılan her özelliği bile kapsamaya çalışmaz. Bunun yerine, Python’un en dikkat çekici özelliklerinin çoğunu sunar ve size dilin tarzı hakkında iyi bir fikir verecektir. Okuduktan sonra, Python modüllerini ve programlarını okuyabilecek ve yazabileceksiniz ve The Python Standard Library bölümünde açıklanan çeşitli Python kütüphanesi modülleri hakkında daha fazla bilgi edinmeye hazır olacaksınız.

Ayrıca Sözlük de göz atmaya değer.

- 1. İştahınızı Kabartma
- 2. Python Yorumlayıcısını Kullanma
  - 2.1. Yorumlayıcıyı Çağırma
    - 2.1.1. Değişken Geçirme
    - 2.1.2. Etkileşimli Mod
  - 2.2. Yorumlayıcı ve Çevresi
    - 2.2.1. Kaynak Kodu Şeması
- 3. Python’a Resmi Olmayan Bir Giriş
  - 3.1. Python’ı Hesap Makinesi Olarak Kullanmak
    - 3.1.1. Sayılar
    - 3.1.2. Dizeler
    - 3.1.3. Listeler
  - 3.2. Programlamaya Doğru İlk Adımlar
- 4. Daha Fazla Kontrol Akışı Aracı
  - 4.1. `if` İfadeleri
  - 4.2. `for` İfadeleri
  - 4.3. `range()` Fonksiyonu
  - 4.4. `break` ve `continue` İfadeleri ve `else` Döngülerdeki Cümleler
  - 4.5. `pass` İfadeleri
  - 4.6. Fonksiyonların Tanımlanması
  - 4.7. İşlev Tanımlama hakkında daha fazla bilgi
    - 4.7.1. Varsayılan Değişken Değerleri
    - 4.7.2. Anahtar Kelime Değişkenleri
    - 4.7.3. Özel parametreler
      - 4.7.3.1. Konumsal veya Anahtar Kelime Argümanları
      - 4.7.3.2. Yalnızca Konumsal Parametreler
      - 4.7.3.3. Yalnızca Anahtar Sözcük İçeren Değişkenler
      - 4.7.3.4. Fonksiyon Örnekleri
      - 4.7.3.5. Özet
    - 4.7.4. Keyfi Argüman Listeleri
    - 4.7.5. Argüman Listelerini Açma
    - 4.7.6. Lambda İfadeleri
    - 4.7.7. Dokümantasyon Stringler’i
    - 4.7.8. Fonksiyon Ek Açıklamaları
  - 4.8. Intermezzo: Kodlama Stili
- 5. Veri Yapıları
  - 5.1. Listeler Üzerine
    - 5.1.1. Listeleri Yığın Olarak Kullanma
    - 5.1.2. Listeleri Kuyruk Olarak Kullanma
    - 5.1.3. Liste Kavramaları
    - 5.1.4. İç İçe Liste Kavramaları
  - 5.2. `del` ifadesi
  - 5.3. Veri Grupları ve Diziler
  - 5.4. Kümeler
  - 5.5. Sözlükler
  - 5.6. Döngü Teknikleri
  - 5.7. Koşullar Üzerine
  - 5.8. Diziler ile Diğer Veri Tiplerinin Karşılaştırılması
- 6. Modüller
  - 6.1. Modüller hakkında daha fazla
    - 6.1.1. Modülleri komut dosyası olarak yürütme
    - 6.1.2. Modül Arama Yolu
    - 6.1.3. “Derlenmiş” Python dosyaları
  - 6.2. Standart modüller
  - 6.3. `dir()` Fonksiyonu
  - 6.4. Paketler
    - 6.4.1. Bir Paketten * İçe Aktarma
    - 6.4.2. Paket İçi Referanslar
    - 6.4.3. Birden Çok Dizindeki Paketler
- 7. Girdi ve Çıktı
  - 7.1. Güzel Çıktı Biçimlendirmesi
    - 7.1.1. Biçimlendirilmiş Dize Değişmezleri
    - 7.1.2. String format() Metodu
    - 7.1.3. Manuel Dize Biçimlendirmesi
    - 7.1.4. Eski dize biçimlendirmesi
  - 7.2. Dosyaları Okuma ve Yazma
    - 7.2.1. Dosya Nesnelerinin Metotları
    - 7.2.2. Yapılandırılmış verileri `json` ile kaydetme
- 8. Hatalar ve Özel Durumlar
  - 8.1. Söz Dizimi Hataları
  - 8.2. Özel Durumlar
  - 8.3. Özel Durumları İşleme
  - 8.4. Hata Ortaya Çıkartma
  - 8.5. Kullanıcı Tanımlı İstisnalar
  - 8.6. Temizleme Eylemlerini Tanımlama
  - 8.7. Önceden Tanımlanmış Temizleme Eylemleri
- 9. Sınıflar
  - 9.1. İsim ve Nesneler Hakkında Birkaç Şey
  - 9.2. Python Etki Alanları ve Ad Alanları
    - 9.2.1. Kapsamlar ve Ad Alanları Örneği
  - 9.3. Sınıflara İlk Bakış
    - 9.3.1. Sınıf Tanımlama Söz Dizimi
    - 9.3.2. Sınıf Nesneleri
    - 9.3.3. Örnek Nesneleri
    - 9.3.4. Metot Nesneleri
    - 9.3.5. Sınıf ve Örnek Değişkenleri
  - 9.4. Rastgele Açıklamalar
  - 9.5. Kalıtım
    - 9.5.1. Çoklu Kalıtım
  - 9.6. Özel Değişkenler
  - 9.7. Oranlar ve Bitişler
  - 9.8. Yineleyiciler
  - 9.9. Üreteçler
  - 9.10. Üreteç İfadeleri
- 10. Standart Kütüphanenin Özeti
  - 10.1. İşletim Sistemi Arayüzü
  - 10.2. Dosya Joker Karakterleri
  - 10.3. Komut Satırı Argümanları
  - 10.4. Hata Çıktısının Yeniden Yönlendirilmesi ve Programın Sonlandırılması
  - 10.5. String Örüntü Eşlemesi
  - 10.6. Matematik
  - 10.7. İnternet Erişimi
  - 10.8. Tarihler ve Saatler
  - 10.9. Veri Sıkıştırma
  - 10.10. Performans Ölçümü
  - 10.11. Kalite Kontrolü
  - 10.12. Bataryalar Dahildir
- 11. Standart Kütüphanenin Kısa Özeti — Bölüm II
  - 11.1. Çıktı Biçimlendirmesi
  - 11.2. Şablonlamak
  - 11.3. İkili Veri Kaydı Düzenleriyle Çalışma
  - 11.4. Çoklu iş parçacığı
  - 11.5. Günlükleme
  - 11.6. Zayıf Başvurular
  - 11.7. Listelerle Çalışma Araçları
  - 11.8. Ondalık Kayan Nokta Aritmetiği
- 12. Sanal Ortamlar ve Paketler
  - 12.1. Tanıtım
  - 12.2. Sanal Ortamlar Oluşturma
  - 12.3. Paketleri pip ile Yönetme
- 13. Sırada Ne Var?
- 14. Etkileşimli Girdi Düzenleme ve Geçmiş İkame
  - 14.1. Tab Tamamlama ve Geçmiş Düzenleme
  - 14.2. Etkileşimli Yorumlayıcıya Alternatifler
- 15. Kayan Nokta Aritmetiği: Sorunlar ve Sınırlamalar
  - 15.1. Temsil Hatası
- 16. Ek Bölüm
  - 16.1. Etkileşimli Mod
    - 16.1.1. Hata İşleme
    - 16.1.2. Yürütülebilir Python Komut Dosyaları
    - 16.1.3. Etkileşimli Başlangıç Dosyası
    - 16.1.4. Özelliştirme Modülleri