Python'da Bir Programın
Baştan Sona Süreci
Bu belge, Python'da bir programın planlanmasından dağıtımına kadar olan tüm sürecini detaylı bir şekilde açıklamaktadır.
Süreç, hem yeni başlayanlar hem de deneyimli geliştiriciler için anlaşılır bir şekilde adım adım sunulmuştur.
1. Programın Planlanması ve Tasarımı
Program yazma süreci, bir fikir veya problemle başlar. Bu aşama, kod yazmadan önceki hazırlık sürecidir ve hataları
azaltmak için kritiktir.
Problemin Tanımlanması: Programın amacı netleştirilir. Örneğin, bir hesap makinesi programı için hangi
işlemlerin (toplama, çıkarma vb.) destekleneceği belirlenir.
Algoritma ve Mantık Geliştirme: Problemi çözmek için sözde kod (pseudocode) veya akış şeması kullanılır.
Örnek sözde kod:
1. Kullanıcıdan iki sayı al
2. Kullanıcıdan işlem türünü al (+, -, *, /)
3. İşlemi gerçekleştir
4. Sonucu ekrana yazdır
Gereksinimlerin Belirlenmesi: Kullanılacak kütüphaneler, veri yapıları ve kullanıcı arayüzü gibi detaylar
planlanır.
Modüler Tasarım: Program, fonksiyonlar veya modüller halinde bölünerek daha yönetilebilir hale getirilir.
2. Geliştirme Ortamının Hazırlanması
Python programını yazmak için uygun bir geliştirme ortamı kurulmalıdır.
Python’un Kurulumu:
Python’un resmi sitesinden ([Link]) uygun sürüm indirilir (örneğin, Python 3.11).
PATH’e ekleme seçeneği işaretlenirse, Python komut satırından çalıştırılabilir.
Kurulum kontrolü: python --version.
Kod Editörü veya IDE Seçimi:
Metin Editörleri: Visual Studio Code, Sublime Text.
IDE’ler: PyCharm, Thonny, IDLE, Jupyter Notebook.
VS Code, Python eklentisiyle syntax highlighting ve debugging sağlar.
Sanal Ortam (Virtual Environment):
Bağımlılıkları izole etmek için kullanılır.
Komutlar:
python -m venv myenv
source myenv/bin/activate # Linux/Mac
myenv\Scripts\activate # Windows
Kütüphane ve Bağımlılıkların Kurulumu:
pip ile yüklenir:
pip install requests
3. Kodun Yazılması
Kod, Python’un sözdizimi kurallarına uygun şekilde yazılır.
Dosya Oluşturma: Python dosyaları .py uzantısıyla kaydedilir (örneğin, hesap_makinesi.py).
Örnek Kod (Hesap Makinesi):
# Hesap Makinesi Programı
def toplama(a, b):
return a + b
def cikarma(a, b):
return a - b
def carpma(a, b):
return a * b
def bolme(a, b):
if b == 0:
return "Sıfıra bölme hatası!"
return a / b
print("Hesap Makinesi")
sayi1 = float(input("Birinci sayıyı girin: "))
sayi2 = float(input("İkinci sayıyı girin: "))
islem = input("İşlemi seçin (+, -, *, /): ")
if islem == "+":
sonuc = toplama(sayi1, sayi2)
elif islem == "-":
sonuc = cikarma(sayi1, sayi2)
elif islem == "*":
sonuc = carpma(sayi1, sayi2)
elif islem == "/":
sonuc = bolme(sayi1, sayi2)
else:
sonuc = "Geçersiz işlem!"
print(f"Sonuç: {sonuc}")
Kodun Yapısı:
Yorumlar: # ile kod açıklanır.
Fonksiyonlar: def ile modülerlik sağlanır.
Giriş/Çıkış: input() ve print() kullanılır.
Koşullu İfadeler: if, elif, else.
İyi Uygulamalar:
PEP 8: Girinti 4 boşluk, satır uzunluğu 79 karakter.
Anlamlı İsimler: sayi1 yerine ilk_sayi.
Hata Yönetimi: try-except kullanımı.
4. Kodun Derlenmesi ve Yorumlanması
Python, yorumlanan bir dildir ve kod doğrudan çalıştırılır.
Çalışma Mantığı:
1. Kaynak Kod: .py dosyası.
2. Bytecode: Python, kodu .pyc dosyasına çevirir (__pycache__ klasöründe saklanır).
3. Python Sanal Makinesi (PVM): Bytecode’u yürütür.
4. Çıktı: Ekrana yazı veya diğer çıktılar üretilir.
Çalıştırma:
Komut satırı:
python hesap_makinesi.py
IDE’de “Run” butonu.
Örnek çıktı:
Hesap Makinesi
Birinci sayıyı girin: 10
İkinci sayıyı girin: 5
İşlemi seçin (+, -, *, /): +
Sonuç: 15.0
Hata Türleri:
Syntax Hataları: Eksik iki nokta gibi.
Runtime Hataları: Sıfıra bölme.
Mantık Hataları: Yanlış sonuç üretme.
5. Hata Ayıklama (Debugging)
Hatalar tespit edilip düzeltilir.
Hata Mesajları:
Örnek:
print(10 / 0)
Çıktı: ZeroDivisionError: division by zero.
Debugging Araçları:
Print Debugging: Değişken değerlerini yazdırma.
IDE Debugger: Breakpoint ile adım adım izleme.
pdb Modülü:
import pdb
pdb.set_trace()
Hata Yönetimi:
try:
sonuc = 10 / 0
except ZeroDivisionError:
print("Sıfıra bölme hatası!")
6. Test Etme
Programın doğruluğu test edilir.
Manuel Test: Farklı girdilerle çalıştırma (pozitif, negatif sayılar, sıfır).
Otomatik Test:
unittest örneği:
import unittest
from hesap_makinesi import toplama, cikarma
class TestHesapMakinesi([Link]):
def test_toplama(self):
[Link](toplama(2, 3), 5)
def test_cikarma(self):
[Link](cikarma(5, 3), 2)
if __name__ == "__main__":
[Link]()
Edge Case’ler: Sıfıra bölme, geçersiz girişler.
7. Optimizasyon ve İyileştirme
Performans ve okunabilirlik artırılır.
Performans:
Gereksiz döngülerden kaçınma.
time ile ölçüm:
import time
start = [Link]()
# Kod
print(f"Çalışma süresi: {[Link]() - start} saniye")
Refactoring:
Fonksiyonları bölme.
Sabitleri değişkenlere taşıma.
Dokümantasyon:
Docstring:
def toplama(a, b):
"""İki sayıyı toplar ve sonucu döndürür."""
return a + b
8. Dağıtım ve Paylaşım
Program paylaşılır veya dağıtılır.
Paylaşım:
GitHub’a yükleme:
git init
git add .
git commit -m "Hesap makinesi eklendi"
git push origin main
Çalıştırılabilir Dosya:
PyInstaller:
pip install pyinstaller
pyinstaller --onefile hesap_makinesi.py
PyPI’ye Yükleme:
python [Link] sdist
twine upload dist/*
9. Bakım ve Güncelleme
Hata Düzeltmeleri: Kullanıcı geri bildirimleriyle hatalar giderilir.
Yeni Özellikler: Karekök, üs alma gibi.
Sürüm Yönetimi: semver (örneğin, 1.0.0).
Özet
Python’da bir programın süreci:
1. Planlama ve tasarım.
2. Ortam hazırlığı.
3. Kod yazımı.
4. Çalıştırma ve yorumlama.
5. Hata ayıklama.
6. Test etme.
7. Optimizasyon.
8. Dağıtım.
9. Bakım.
Bu süreç, basit script’lerden karmaşık uygulamalara kadar her Python projesi için geçerlidir.