Python Hızlı Referans Kılavuzu: Python Programlamaya Derinlemesine Bir Başlangıç

Mehmet Songur

--

Python, öğrenmesi kolay olduğu gibi oldukça da güçlü bir programlama dilidir. İster kod yazmaya yeni başlamış olun, ister temel kavramları pekiştirmek isteyin, bu detaylı Python Hızlı Referans Kılavuzu işinize yarayacaktır! Bu yazıda, Python’un temel yapılarını adım adım keşfedilecek ve her biri pratik örneklerle açıklanacaktır. Bu yazının amacı, hem yeni başlayanlar için sağlam bir temel oluşturmak hem de hızlı bir başvuru kaynağı sunmak.

Bu kılavuzda, değişkenlerden sınıflara, döngülerden veri yapılarına kadar Python’un en önemli unsurları ele alınacaktır.

O zaman başlayalım…

Bu Kılavuzda Neler Var?

Bu yazı, Python’un temel yapılarını kapsamlı bir şekilde ele alıyor. İşte işleyeceğimiz konular:

  • Değişkenler ve Veri Türleri
  • Yorumlar Yazma
  • Kullanıcıdan Veri Alma
  • Stringler (Metinlerle Çalışma)
  • Aritmetik İşlemler ve Operatörler
  • Koşullu İfadeler (If Deyimleri)
  • Döngüler (While ve For)
  • Veri Yapıları: Listeler, Demetler ve Sözlükler
  • Fonksiyonlar ve Kod Organizasyonu
  • Hata Yönetimi (Exceptions)
  • Nesne Yönelimli Programlama: Sınıflar ve Kalıtım

Her bir konuyu derinlemesine inceleyeceğiz, bolca örnek vereceğiz ve pratik kullanım senaryoları sunacağız. Hadi başlayalım!

Değişkenler ve Veri Türleri: Python’un Temel Taşları

Değişkenler, programda verileri saklamak ve kullanmak için oluşturduğumuz isimlendirilmiş alanlardır. Python’da bir değişken tanımlamak çok basittir; sadece bir isim ve bir değer atarsınız:

urun_fiyati = 25            # Tam sayı (Integer)
kullanici_puani = 4.7 # Ondalık sayı (Float)
urun_adi = "Python Kitabı" # Metin (String)
stokta_var_mi = True # Mantıksal (Boolean)

Python’daki Temel Veri Türleri

  • Tam Sayı (Integer): Ondalık kısmı olmayan sayılar, örneğin 25 veya -10.
  • Ondalık Sayı (Float): Ondalıklı sayılar, örneğin 4.7 veya 0.001.
  • Metin (String): Harfler, kelimeler veya cümleler; tek () veya çift () tırnakla yazılır.
  • Mantıksal (Boolean): True (doğru) veya False (yanlış) değerlerini alır.

Değişkenlerle İlgili İpuçları

  • Değişken isimleri anlamlı olmalı: x yerine urun_fiyati gibi açıklayıcı isimler kullanın.
  • Büyük-küçük harfe duyarlıdır: Fiyat ve fiyat farklı değişkenlerdir.
  • Değişkenlerin değerini değiştirebilirsiniz:
urun_fiyati = 25
urun_fiyati = 30 # Yeni değer: 30

Değişkenler, Python’da kod yazmanın temelidir. Onları bir programın yapı taşları gibi düşünebilirsiniz!

Yorumlar: Kodunuza Anlam Katın

Yorumlar, kodunuzu açıklayan ve çalıştırılmayan metinlerdir. Python’da # sembolüyle yazılır:

# Bu bir yorumdur, Python bunu çalıştırmaz
urun_fiyati = 30 # Ürün fiyatını 30 TL olarak ayarladık

Neden Yorum Kullanmalısınız?

  • Kodun neden yazıldığını açıklayın: Örneğin, bir hesaplama için hangi birimin kullanıldığını belirtebilirsiniz.
  • Ekip arkadaşlarınız veya gelecekteki kendiniz için notlar bırakın:
# İndirim oranı sabit olarak %20 kabul edildi
indirim_orani = 0.20

Çok Satırlı Yorumlar

Birden fazla satır için her satır başına # koyabilirsiniz:

# Bu program, ürün fiyatlarını hesaplar
# Fiyatlar TL cinsindedir
# İndirim uygulanmadan önce kontrol yapılır

Yorumlar, kodunuzu daha okunabilir ve anlaşılır hale getirir. Ancak, kodun ne yaptığını değil, neden öyle yapıldığını açıklamaya özen gösterin!

Kullanıcıdan Veri Alma: Programınızı Etkileşimli Hale Getirin

Kullanıcılarla iletişim kurmak için input() fonksiyonunu kullanırız. Bu fonksiyon, kullanıcıdan bir veri alır ve onu bir değişkene atamanıza olanak tanır:

yas = input("Yaşınızı girin: ")  # "25" (metin)
yas = int(yas) # 25 (tam sayı)

Örnek bir mini program:

dogum_yili = int(input("Doğum yılınızı girin: "))
bugunun_yili = 2025
yas = bugunun_yili - dogum_yili
print(f"Yaşınız: {yas}")

Kullanıcı 1995 girerse, çıktı Yaşınız: 30 olacaktır. Kullanıcıdan veri almak, programlarınızı dinamik ve etkileşimli hale getirir!

Stringler (Metinler): Kelimelerle Oynamak

Metinler, Python’da çok yönlü bir veri türüdür. Tek veya çift tırnakla tanımlanır:

mesaj = "Python öğreniyorum"

Karakterlere Erişim

Metnin içindeki karakterlere köşeli parantezle ulaşabilirsiniz:

print(mesaj[0])   # 'P'
print(mesaj[-1]) # 'u' (sondan birinci)
print(mesaj[6]) # 'ö'

Dilimleme (Slicing)

Metnin bir kısmını almak için:

print(mesaj[0:6])   # 'Python'
print(mesaj[7:]) # 'öğreniyorum' (7’den sona kadar)
print(mesaj[:6]) # 'Python' (baştan 6’ya kadar)

Metin Birleştirme

Metinleri + ile birleştirebilirsiniz:

selam = "Merhaba"
isim = "Ali"
tam_mesaj = selam + " " + isim # "Merhaba Ali"

Formatlı Stringler (f-String)

Değişkenleri metne kolayca eklemek için:

fiyat = 50
print(f"Ürün fiyatı: {fiyat} TL") # "Ürün fiyatı: 50 TL"

Kullanışlı Metin Metotları

  • mesaj.upper(): “PYTHON ÖĞRENIYORUM”
  • mesaj.lower(): “python öğreniyorum”
  • mesaj.title(): “Python Öğreniyorum”
  • mesaj.find(‘ö’): ‘ö’ harfinin ilk bulunduğu indeks (6)
  • mesaj.replace(‘Python’, ‘Kod’): “Kod öğreniyorum”

Metin Kontrolü

Bir şeyin metin içinde olup olmadığını in ile kontrol edebilirsiniz:

"Python" in mesaj  # True
"Java" in mesaj # False

Stringler, kullanıcı arayüzlerinden dosya işlemeye kadar her yerde kullanılır. Onlarla yapabilecekleriniz neredeyse sınırsız!

Aritmetik İşlemler: Sayılarla Çalışma

Python, matematiksel işlemleri kolaylaştırır. İşte temel operatörler:

  • +: Toplama (örneğin, 5 + 3 = 8)
  • -: Çıkarma (örneğin, 10–4 = 6)
  • *: Çarpma (örneğin, 2 * 3 = 6)
  • /: Bölme (ondalık döner, örneğin 7 / 2 = 3.5)
  • //: Tam bölme (tam sayı döner, örneğin 7 // 2 = 3)
  • %: Kalan (örneğin, 7 % 2 = 1)
  • **: Üs alma (örneğin, 2 ** 3 = 8)

Pratik Örnek

Bir alışveriş hesaplama programı:

urun_fiyati = 45
adet = 3
toplam = urun_fiyati * adet # 135
print(f"Toplam tutar: {toplam} TL")

Artırılmış Atama

Değişkenleri güncellemek için kısa yollar:

sayi = 10
sayi += 5 # sayi = sayi + 5 (15)
sayi *= 2 # sayi = sayi * 2 (30)

İşlem Önceliği

Python, matematikteki sırayı takip eder:

  1. Parantezler: (2 + 3) * 4 = 20
  2. Üs alma: 2 ** 3 * 4 = 32
  3. Çarpma/Bölme: 10 * 2 / 5 = 4.0
  4. Toplama/Çıkarma: 5 + 3–2 = 6

Hesaplamalarınızı doğru yapmak için parantez kullanmaktan çekinmeyin!

Koşullu İfadeler: Karar Verme Mekanizması

if deyimleri, programın belirli koşullara göre farklı yollar izlemesini sağlar:

hava_sicakligi = 28
if hava_sicakligi > 25:
print("Hava sıcak, dışarıda su içmeyi unutma!")
elif hava_sicakligi < 10:
print("Hava soğuk, montunu al!")
else:
print("Hava tam kıvamında!")

Mantıksal Operatörler

  • and: İki koşul da doğru olmalı (örneğin, sicak and gunesli).
  • or: En az bir koşul doğru olmalı (örneğin, sicak or yagmurlu).
  • not: Koşulu tersine çevirir (örneğin, not sicak).

Örnek:

yas = 20
ogrenci_mi = True
if yas < 25 and ogrenci_mi:
print("Öğrenci indirimi alabilirsiniz!")

Karşılaştırma Operatörleri

  • >: Büyüktür
  • <: Küçüktür
  • >=: Büyük veya eşit
  • <=: Küçük veya eşit
  • ==: Eşittir
  • !=: Eşit değildir

Bir mini kontrol programı:

not_ortalamasi = float(input("Not ortalamanızı girin: "))
if not_ortalamasi >= 85:
print("Tebrikler, başarılısınız!")
elif not_ortalamasi >= 50:
print("Geçtiniz, ama daha çok çalışabilirsiniz.")
else:
print("Üzgünüm, kaldınız.")

Koşullu ifadeler, programlarınızın akıllıca kararlar almasını sağlar!

Döngüler: Tekrar Eden Görevleri Otomatize Edin

While Döngüsü

Bir koşul doğru olduğu sürece çalışır:

sayac = 0
while sayac < 5:
print(f"Sayac: {sayac}")
sayac += 1
# Çıktı: 0, 1, 2, 3, 4

Sonsuz döngüden kaçınmak için koşulu dikkatli ayarlayın!

For Döngüsü

Belirli bir aralıkta veya koleksiyon üzerinde döner:

for sayi in range(1, 6):
print(sayi) # 1, 2, 3, 4, 5
  • range(5): 0’dan 4’e kadar (0, 1, 2, 3, 4)
  • range(1, 5): 1’den 4’e kadar (1, 2, 3, 4)
  • range(0, 10, 2): 0’dan 10’a, 2’şer adım (0, 2, 4, 6, 8)

Bir liste üzerinde döngü:

meyveler = ["elma", "armut", "kiraz"]
for meyve in meyveler:
print(f"Meyve: {meyve}")

Döngüler, tekrar eden işleri hızlıca yapmanızı sağlar. Örneğin, bir fatura listesini toplamak veya bir oyunda hamleleri yinelemek için idealdir.

Veri Yapıları: Verilerinizi Organize Edin

Listeler: Esnek ve Değiştirilebilir Koleksiyonlar

Listeler, birden çok öğeyi saklar:

notlar = [85, 90, 75, 60]
print(notlar[0]) # 85
print(notlar[-1]) # 60
notlar.append(95) # Sona 95 ekler
notlar.insert(1, 88) # 1. indekse 88 ekler
notlar.remove(75) # 75’i siler
notlar.pop() # Son öğeyi siler (95 gider)

Kullanışlı liste metotları:

  • notlar.index(90): 90’ın indeksini bulur.
  • notlar.sort(): Küçükten büyüğe sıralar.
  • notlar.reverse(): Ters çevirir.
  • len(notlar): Liste uzunluğunu döner.

Demetler (Tuples): Sabit Koleksiyonlar

Demetler, değiştirilemez listelerdir:

konum = (40.7128, -74.0060)  # Enlem ve boylam
enlem, boylam = konum # Ayırma
print(f"Enlem: {enlem}, Boylam: {boylam}")

Demetler, yanlışlıkla değişmesini istemediğiniz veriler için mükemmeldir (örneğin, koordinatlar).

Sözlükler: Anahtar-Değer Deposu

Sözlükler, verileri anahtarlarla ilişkilendirir:

kullanici = {
"isim": "Zeynep",
"yas": 28,
"uye_mi": True
}
print(kullanici["isim"]) # "Zeynep"
kullanici["yas"] = 29 # Yaşı günceller
print(kullanici.get("sehir", "Bilinmiyor")) # "Bilinmiyor" (varsayılan)

Sözlükler, yapılandırılmış veriler (örneğin, bir kullanıcı profili) için idealdir.

Fonksiyonlar: Kodunuzu Parçalara Ayırın

Fonksiyonlar, kodunuzu düzenli ve yeniden kullanılabilir hale getirir:

def selam_ver(isim):
print(f"Merhaba {isim}, hoş geldin!")
selam_ver("Ayşe") # "Merhaba Ayşe, hoş geldin!"

Parametreler ve Argümanlar

Konumsal Argümanlar: Sıra önemlidir:

def topla(a, b):
return a + b
print(topla(5, 3)) # 8

Anahtar Kelime Argümanları: Sıra önemli değildir:

def hesapla_fatura(fiyat, vergi=0.18):
return fiyat * (1 + vergi)
print(hesapla_fatura(fiyat=100, vergi=0.10)) # 110.0

Varsayılan Değerler

Parametrelere varsayılan değer verebilirsiniz:

def karsila(isim="Misafir"):
print(f"Hoş geldin, {isim}!")
karsila() # "Hoş geldin, Misafir!"
karsila("Ali") # "Hoş geldin, Ali!"

Değer Döndürme

Fonksiyonlar sonuç döndürebilir:

def alan_hesapla(yari_cap):
return 3.14 * yari_cap ** 2
alan = alan_hesapla(5) # 78.5

Fonksiyonlar, büyük projelerde kodunuzu yönetilebilir hale getirir!

Hata Yönetimi: Programınızı Güvenli Tutun

Hatalar, programın çökmesine neden olabilir. try-except ile bunları kontrol altına alabilirsiniz:

try:
sayi = int(input("Bir sayı girin: "))
sonuc = 100 / sayi
print(f"Sonuç: {sonuc}")
except ValueError:
print("Lütfen geçerli bir sayı girin!")
except ZeroDivisionError:
print("Sıfıra bölme hatası!")

Bu kod, kullanıcı yanlış bir giriş yaparsa (örneğin, harf girerse) veya sıfıra bölmeye çalışırsa çökmez. Hata türlerini tanıyarak programınızı daha dayanıklı hale getirebilirsiniz.

Nesne Yönelimli Programlama: Sınıflar ve Kalıtım

Sınıflar: Yeni Türler Tanımlama

Sınıflar, gerçek dünyadaki nesneleri modellemek için kullanılır:

class Araba:
def __init__(self, marka, model):
self.marka = marka
self.model = model
def bilgi_ver(self):
print(f"Araba: {self.marka} {self.model}")

araba1 = Araba("Toyota", "Corolla")
araba1.bilgi_ver() # "Araba: Toyota Corolla"
  • __init__: Nesne oluşturulurken çağrılır (yapıcı metod).
  • self: Nesnenin kendisine işaret eder.

Kalıtım: Kod Tekrarını Azaltma

Bir sınıf, başka bir sınıfın özelliklerini miras alabilir:

class ElektrikliAraba(Araba):
def __init__(self, marka, model, pil_kapasitesi):
super().__init__(marka, model)
self.pil_kapasitesi = pil_kapasitesi
def pil_bilgisi(self):
print(f"Pil kapasitesi: {self.pil_kapasitesi} kWh")

tesla = ElektrikliAraba("Tesla", "Model 3", 75)
tesla.bilgi_ver() # "Araba: Tesla Model 3"
tesla.pil_bilgisi() # "Pil kapasitesi: 75 kWh"

Kalıtım, benzer nesneler arasında ortak özellikleri paylaşmanızı sağlar.

Son Sözler

Bu kılavuzda, Python’un temel yapıları derinlemesine ele alınmıştır. Değişkenlerle verilerinizi sakladınız, döngülerle tekrar eden işleri otomatikleştirdiniz, fonksiyonlarla kodunuzu organize ettiniz ve sınıflarla gerçek dünyayı modelediniz. Artık basit bir hesap makinesinden karmaşık bir uygulamaya kadar pek çok şey geliştirebilirsiniz.

Python öğrenmek bir yolculuktur. Bu temellerle başlayın, bol bol pratik yapın ve yeni şeyler denemekten korkmayın.

--

--

No responses yet