
Bu yazı, programlamaya tamamen sıfırdan başlamak yerine temel mantığı öğrenmek isteyen genel kitle için hazırlanmış bir “hızlı başlangıç” rehberidir. Python’ın resmi tutorial’ı da benzer şekilde, programlamaya aşina olup Python’a yeni başlayanlara yöneliktir. Resmi kaynağı görmek isterseniz: The Python Tutorial (Python 3).
Tüm örnekler Python 3 içindir. Bazı özellikler sürüme bağlı olabilir (ör. f-string’ler Python 3.6+). Yayınlamadan/üretimde kullanmadan önce kendi ortamınızda çalıştırarak doğrulamanız iyi olur.
Terminal/Komut Satırı’nda python (bazı sistemlerde python3) yazıp Enter’a basın. Kısa denemeler için idealdir.
Bir dosya oluşturun: ornek.py. Snippet’i içine yapıştırın, ardından çalıştırın.
python ornek.py
Komut adları işletim sistemine göre değişebilir. Python sürümünü görmek için yerelde python --version komutu yardımcı olur.
Bu snippet’ler, Python topluluğunda yaygın kabul gören stil önerilerine (ör. 4 boşluk girinti) uymaya çalışır. Daha fazlası: PEP 8 — Style Guide for Python Code.
| # | Konu | Öğrenilecek fikir |
|---|---|---|
| 1 | Merhaba dünya + print() | Çıktı almak |
| 2 | Değişkenler ve temel tipler | str/int/float/bool |
| 3 | Koşul (if/elif/else) | Karar verme |
| 4 | Döngü (for) + enumerate() | Sıralı gezme ve indeks |
| 5 | List comprehension | Kısa liste üretimi |
| 6 | Dict (sözlük) kullanımı | Anahtar-değer mantığı |
| 7 | Fonksiyon | Tekrar kullanılabilirlik |
| 8 | f-string ile formatlama | Modern string biçimleme |
| 9 | Dosya okuma/yazma (with open) | Kaynak yönetimi |
| 10 | try/except + basit sınıf | Hata yakalama ve OOP |
Sürüm: Python 3.x
Ne işe yarar? En hızlı şekilde çalıştığını görürsünüz. Çıktı almak için yerleşik print() fonksiyonunu kullanır.
print("Merhaba, Python!")
Not: print gibi yerleşik (built-in) fonksiyonların davranışını doğrulamak için resmi listeye bakabilirsiniz: Built-in Functions.
Sürüm: Python 3.x
Ne işe yarar? Python dinamik tipli bir dildir: değişkene atadığınız değer türünü belirler. Bu snippet, dört yaygın tipi gösterir.
isim = "Ada"
yas = 30
oran = 3.14
aktif_mi = True
print(isim, yas, oran, aktif_mi)
İpucu: Hızlı kontrol için type() kullanabilirsiniz (yerleşik fonksiyonlar sayfasında listelenir). Tipleri “ezberlemek” yerine, ihtiyaca göre dönüştürme (int(), str() vb.) alışkanlığı edinmek daha yararlıdır.
Sürüm: Python 3.x
Ne işe yarar? Karar verme. Örneğin bir değerin aralıkta olup olmadığını kontrol edersiniz.
puan = 82
if puan >= 90:
seviye = "A"
elif puan >= 80:
seviye = "B"
else:
seviye = "C"
print("Seviye:", seviye)
Stil notu: PEP 8, blok girintisi için 4 boşluğu önerir. Bu, küçük snippet’lerde bile okunabilirliği artırır (PEP 8).
Sürüm: Python 3.x
Ne işe yarar? Bir listenin elemanlarını gezerken indeks de gerekiyorsa enumerate() pratik bir çözümdür.
meyveler = ["elma", "muz", "çilek"]
for i, meyve in enumerate(meyveler, start=1):
print(i, meyve)
Nerede kullanılır? Menü/rapor çıktıları, tablo satır numarası, kullanıcıya “1’den başlayan liste” göstermek gibi durumlar. enumerate yerleşik fonksiyondur; ayrıntı için resmi referans: Built-in Functions.
Sürüm: Python 3.x
Ne işe yarar? Bir koleksiyondan filtreleyerek veya dönüştürerek yeni liste üretmek için kısa bir sözdizimi sağlar.
sayilar = [1, 2, 3, 4, 5, 6]
ciftler = [n for n in sayilar if n % 2 == 0]
kareler = [n * n for n in sayilar]
print(ciftler)
print(kareler)
Dikkat: Çok karmaşık hale gelirse okunabilirlik düşebilir. Bu noktada normal for döngüsü daha anlaşılır olabilir. Python tutorial’da listeler ve döngülerle ilgili çok sayıda örnek bulunur: The Python Tutorial.
Sürüm: Python 3.x
Ne işe yarar? Bir anahtar üzerinden değere hızlı erişmek istersiniz: kullanıcı bilgisi, ayarlar, sayım (count) gibi.
kisi = {"ad": "Ada", "ulke": "US", "yas": 30}
print(kisi["ad"])
# Güvenli okuma: anahtar yoksa varsayılan döner
print(kisi.get("meslek", "(bilinmiyor)"))
İpucu: get() anahtarın bulunmadığı durumlarda hata yerine varsayılan değer döndürmek için kullanışlıdır. Sözlük yapıları Python’ın temel parçalarındandır; resmi tutorial’da sözlükler bölümü de yer alır (The Python Tutorial).
Sürüm: Python 3.x
Ne işe yarar? Aynı işlemi tekrar tekrar yazmak yerine fonksiyonla kapsülleyip yeniden kullanırsınız. Aşağıda basit bir örnek var.
def selamla(isim, dil="tr"):
if dil == "tr":
return f"Merhaba, {isim}!"
return f"Hello, {isim}!"
mesaj = selamla("Ada")
print(mesaj)
print(selamla("Sam", dil="en"))
Not: Burada iki şey görüyorsunuz: (1) varsayılan parametre (dil="tr"), (2) fonksiyondan değer döndürme (return). Fonksiyon temelleri resmi tutorial’da anlatılır: The Python Tutorial.
Sürüm: Python 3.6+
Ne işe yarar? Değişkenleri ve ifadeleri string içine okunaklı şekilde yerleştirirsiniz. f-string’ler PEP 498 ile tanımlanmıştır: PEP 498 — Literal String Interpolation.
urun = "kahve"
adet = 2
birim_fiyat = 4.5
toplam = adet * birim_fiyat
print(f"{adet} adet {urun}: toplam ${toplam:.2f}")
Nerede kullanılır? Log mesajları, rapor satırları, kullanıcıya gösterilen metinler. {toplam:.2f} biçimi, sayıyı 2 ondalık basamakla yazdırır.
Sürüm: Python 3.x
Ne işe yarar? Dosyayı açıp işlem bittikten sonra kapatma işini daha güvenilir şekilde yönetirsiniz. with bloğu bu iş için standart yaklaşımdır.
# Yazma
metin = "Merhaba dosya!\nİkinci satır."
with open("ornek.txt", "w", encoding="utf-8") as f:
f.write(metin)
# Okuma
with open("ornek.txt", "r", encoding="utf-8") as f:
icerik = f.read()
print(icerik)
Dikkat: Dosya yolu, çalıştırdığınız dizine göre değişir. Başlangıç aşamasında aynı klasörde çalışmak kolaylık sağlar. Dosya işlemleri, resmi Python tutorial’da da temel kavramlar arasında yer alır: The Python Tutorial.
Sürüm: Python 3.x
Ne işe yarar? Kullanıcı girdisi gibi kontrol edemediğiniz durumlarda hata yakalamak isteyebilirsiniz. Ayrıca küçük bir sınıf (class) ile veriyi ve davranışı aynı yerde toplayabilirsiniz.
class Urun:
def __init__(self, ad, fiyat):
self.ad = ad
self.fiyat = fiyat
def etiket(self):
return f"{self.ad} - ${self.fiyat:.2f}"
girdi = "9.99"
try:
fiyat = float(girdi)
except ValueError:
fiyat = 0.0
urun = Urun("Kahve", fiyat)
print(urun.etiket())
Önemli fikir: except ValueError ile yalnızca belirli bir hata türünü yakalamak, “her şeyi yakalamaktan” daha kontrollü bir yaklaşımdır. float() gibi dönüştürücüler ve yerleşik fonksiyonların ayrıntılarını gerektiğinde resmi listeden kontrol edebilirsiniz: Built-in Functions.
Bu yazı, Python’ın resmi dokümantasyonundaki kavramlara dayanır. Python dokümantasyonu sayfalarında lisans bilgisi bulunur; örnek/recipe türü kod parçaları için ayrıca lisans notları yer alabilir. Resmi kaynağı incelemek için: The Python Tutorial.
Daha sistematik ilerlemek isterseniz, resmi başlangıç kaynağı iyi bir “birincil referans”tır: The Python Tutorial.
Yorumlar