Python, okunması en kolay programlama dillerinden biri. Yapay zekâdan web’e, otomasyondan siber güvenliğe kadar her alanda kullanılıyor. Bu derste hiç kod bilmeyen birinin anlayacağı şekilde dört temel taşı öğreniyoruz.
Kurulum (5 dakika)
- python.org adresinden güncel Python 3 sürümünü indir.
- Windows’ta kurulumun ilk ekranında “Add python.exe to PATH” kutusunu işaretle (çok önemli).
- Terminal/komut istemi aç ve
python --versionyaz. Sürüm numarası görüyorsan hazırsın. - Kod yazmak için VS Code öneriyoruz (Rehberler’de kurulum konusu var).
Aşağıdaki kodu ders1.py adıyla kaydet ve terminalde python ders1.py ile çalıştır.
1. Değişkenler: bilgiyi saklamak
isim = "Ayşe" # metin (string): tırnak içinde yazılır
yas = 21 # tam sayı (int)
boy = 1.68 # ondalıklı sayı (float): Türkçedeki virgül yerine NOKTA kullanılır
ogrenci_mi = True # doğru/yanlış (bool): True ya da False
print("Merhaba", isim) # ekrana yazdırır: Merhaba Ayşe
print(f"{isim} {yas} yaşında.") # f-string: süslü parantez içindeki değişkeni metne yerleştirir
Ne yapıyor? Değişken, içine değer koyduğun etiketli bir kutu gibidir. = işareti “eşittir” değil, “sağdakini soldaki kutuya koy” anlamına gelir. # ile başlayan kısımlar yorumdur; Python onları çalıştırmaz, sadece insanlar için not.
2. Kullanıcıdan bilgi almak
from datetime import date # tarih işlemleri için Python'un hazır modülü
ad = input("Adın ne? ") # kullanıcı bir şey yazıp Enter'a basana kadar bekler
yil = int(input("Doğum yılın? ")) # input her zaman metin döndürür; int() onu sayıya çevirir
bu_yil = date.today().year # bilgisayarın saatinden bu yılı alır
print(f"Merhaba {ad}, bu yıl {bu_yil - yil} yaşına giriyorsun.")
Ne yapıyor? input kullanıcıdan metin alır. Sayıyla hesap yapacaksan int() ile sayıya çevirmen gerekir. Çevirmezsen “2000” metniyle çıkarma yapılamaz ve hata alırsın. Yılı koda elle yazmak yerine date.today().year ile bilgisayardan alıyoruz; böylece program gelecek yıl da doğru çalışır.
3. Koşullar: karar vermek
puan = 72
if puan >= 85: # eğer puan 85 veya üstüyse...
print("Pekiyi") # ...bu satır çalışır (girintiye dikkat: 4 boşluk)
elif puan >= 50: # değilse, 50 veya üstüyse...
print("Geçti")
else: # hiçbiri değilse...
print("Kaldı")
Ne yapıyor? Python yukarıdan aşağı bakar ve ilk doğru olan koşulun bloğunu çalıştırır, gerisini atlar. Burada sonuç “Geçti” olur.
Önemli: Python’da süslü parantez yok. Hangi satırın koşula ait olduğunu girinti (4 boşluk) belirler. En sık yapılan başlangıç hatası girintiyi karıştırmaktır.
4. Döngüler: tekrar etmek
# for: belli sayıda tekrar
for i in range(1, 6): # range(1, 6) → 1, 2, 3, 4, 5 (6 dahil DEĞİL)
print(i, "x 7 =", i * 7)
# bir liste üzerinde dolaşmak
meyveler = ["elma", "armut", "kiraz"] # liste: köşeli parantez içinde birden fazla değer
for meyve in meyveler:
print(meyve.upper()) # upper(): metni büyük harfe çevirir
# while: bir koşul doğru olduğu sürece tekrar
sayac = 3
while sayac > 0:
print("Geri sayım:", sayac)
sayac -= 1 # sayac = sayac - 1 ile aynı; yazmazsan döngü hiç bitmez!
print("Başla!")
Ne yapıyor? for, bir dizinin her elemanı için bloğu bir kez çalıştırır. while ise koşul yanlış olana kadar döner. while kullanırken koşulu bir gün yanlış yapacak bir satır yazmayı unutma, yoksa program sonsuza kadar döner (durdurmak için Ctrl + C).
5. Fonksiyonlar: kodu paketlemek
def kdv_ekle(fiyat, oran=20): # def: fonksiyon tanımla; oran verilmezse 20 kabul edilir
"""Fiyata KDV ekler ve sonucu döndürür.""" # açıklama satırı (docstring)
return round(fiyat * (1 + oran / 100), 2) # return: sonucu geri verir; round(..., 2): 2 haneye yuvarlar
print(kdv_ekle(100)) # 120.0
print(kdv_ekle(100, 10)) # 110.0
Ne yapıyor? Aynı işi defalarca yapacaksan onu bir isim altında paketlersin. fiyat ve oran fonksiyonun parametreleri, yani dışarıdan aldığı bilgiler. return hesaplanan sonucu geri verir.
Neden round? Bilgisayar ondalık sayıları ikilik sistemde sakladığı için 100 * 1.1 işlemi 110.00000000000001 gibi küçük bir sapmayla çıkar. Para hesaplarında sonucu yuvarlamak bu yüzden önemlidir. (Gerçek muhasebe yazılımlarında bunun için decimal modülü kullanılır.)
Hepsi bir arada: mini proje (sayı tahmin oyunu)
import random # rastgele sayı üretmek için hazır modülü çağırır
def oyun():
gizli = random.randint(1, 100) # 1 ile 100 arasında (ikisi dahil) rastgele bir sayı
deneme = 0
while True: # sonsuz döngü; doğru tahminde 'break' ile çıkacağız
tahmin = int(input("1-100 arası tahminin: "))
deneme += 1
if tahmin < gizli:
print("Daha büyük ⬆️")
elif tahmin > gizli:
print("Daha küçük ⬇️")
else:
print(f"Bildin! 🎉 {deneme} denemede buldun.")
break # döngüden çık
oyun() # fonksiyonu çalıştır
Ne yapıyor? Bilgisayar gizli bir sayı tutar; sen tahmin ettikçe “büyük/küçük” diye yönlendirir, bildiğinde kaç denemede bulduğunu söyler. Bu küçük oyunda bu dersteki her şey var: değişken, input, koşul, döngü, fonksiyon.
Ödev
- Oyuna deneme sınırı ekle: 7 denemede bulamazsa “Kaybettin, sayı şuydu: …” desin.
- Kullanıcı sayı yerine harf yazarsa program çöküyor. Bunu engelle. İpucu:
try/except ValueError(2. derste anlatacağız).
Çözümünü bu konuya at; kodunu birlikte inceleyelim. Sonraki derste: listeler, sözlükler ve dosya okuma/yazma.