Python nedir, neden bu kadar çok önerilir
Python, 1991 yılında Guido van Rossum'un geliştirdiği genel amaçlı bir programlama dilidir. Söz dizimi günlük İngilizceye yakın kurulur: noktalı virgül yok, süslü parantez yok, blokları girinti (indentation) belirler. Bu sadelik, yeni başlayan birinin kodu satır satır okuyup ne yaptığını çözebilmesini sağlar.
Aynı dil hem küçük bir betikte hem büyük bir web uygulamasında geçerlidir. Instagram'ın sunucu tarafı, veri analizinde kullanılan araçlar ve okuldaki ilk "merhaba dünya" alıştırması aynı sözdizimini paylaşır. Bu yüzden öğrenilen bilgi tek bir projeye hapsolmaz, farklı alanlarda yeniden kullanılır.
Python "yorumlanan" (interpreted) bir dildir; yazılan kod önce ayrı bir çalıştırılabilir dosyaya derlenmez, satır satır işletilir. Bu özellik hata ayıklamayı kolaylaştırır çünkü hatayı gördüğünüz anda düzeltip kodu yeniden çalıştırabilirsiniz. Terminale python yazdığınızda etkileşimli kabuk (REPL) açılır ve tek satırlık kod parçalarını orada anında test edebilirsiniz.
Kurulum tek adımda biter. python.org adresinden güncel sürümü indirin, kurulum ekranında "Add Python to PATH" kutusunu işaretleyin. Ardından kurulumun tamamlandığını terminalde şu komutla kontrol edin.
python --version
Windows'ta bazen python yerine py komutu çalışır; Linux ve macOS'ta genellikle python3 gerekir. Komut tanınmıyorsa PATH ayarı atlanmış demektir; kurulum dosyasını yeniden çalıştırıp ilgili kutuyu işaretlemek sorunu giderir.
Değişkenler ve veri tipleri nasıl çalışır
Python'da bir değişken tanımlamak için ayrı bir anahtar kelime yazmanız gerekmez; doğrudan bir isim seçip değeri atarsınız. Tip belirtmezsiniz, yorumlayıcı değeri görüp tipi kendisi çıkarır.

isim = "Ayşe"
yas = 29
boy = 1.68
aktif_mi = True
Bu örnekte isim bir metin (str), yas bir tam sayı (int), boy ondalıklı bir sayı (float), aktif_mi ise mantıksal (bool) bir değerdir. Tip kontrolü çalışma anında yapılır; bu yüzden aynı değişkene daha sonra farklı tipte bir değer de atayabilirsiniz.
Değişken isimlendirmede birkaç sabit kural vardır: isim rakamla başlayamaz, boşluk içeremez, if, for, class gibi Python'un kendi anahtar kelimeleriyle çakışamaz. Türkçe karakterler teknik olarak sorun çıkarmaz ama ekip halinde yürütülen projelerde İngilizce isimlendirme tercih edilir. Değişken ve fonksiyon isimlerini küçük harf ve alt çizgiyle yazma alışkanlığına "snake_case" denir; örneğin kullaniciAdi yerine kullanici_adi yazılır.
Sık kullanılan temel tipler ve örnekleri aşağıdaki tabloda toplanmıştır.
| Tip | Açıklama | Örnek |
|---|---|---|
str | Metin | "merhaba" |
int | Tam sayı | 42 |
float | Ondalıklı sayı | 3.14 |
bool | Doğru/yanlış | True, False |
list | Sıralı, değiştirilebilir liste | [1, 2, 3] |
dict | Anahtar-değer eşleşmesi | {"ad": "Ali"} |
Liste ve sözlük, gerçek projelerde en sık başvurulan iki yapıdır çünkü birden fazla veriyi tek bir değişkende bir arada tutarlar.
meyveler = ["elma", "armut", "kiraz"]
kullanici = {"ad": "Ali", "yas": 34, "sehir": "İzmir"}
print(meyveler[0])
print(kullanici["sehir"])
meyveler[0] listenin ilk öğesine erişir çünkü Python'da sayaç sıfırdan başlar. kullanici["sehir"] ise sözlükte "sehir" anahtarına karşılık gelen değeri döndürür. Liste öğelerine sırayla, sözlük öğelerine isimle ulaşılır; hangisini seçeceğiniz elinizdeki verinin yapısına bağlıdır.
Fonksiyon, if-else ve döngü nasıl yazılır
Fonksiyon, tekrar eden bir işlemi tek bir yerde toplayıp istediğiniz kadar çağırmanızı sağlar. def anahtar kelimesiyle tanımlanır, parametreler parantez içine yazılır.
def selamla(isim):
if isim == "":
return "İsim boş olamaz"
else:
return f"Merhaba, {isim}!"
print(selamla("Mehmet"))
Fonksiyonu bir kez yazdıktan sonra dilediğiniz kadar çağırabilirsiniz, kodu tekrar tekrar kopyalamanız gerekmez. Büyük programlarda yüzlerce fonksiyon birbirini çağırarak çalışır, her biri tek bir işten sorumludur. return ifadesi sonucu çağıran yere gönderir; fonksiyonda return yoksa Python otomatik olarak None döndürür, bu da yeni başlayanların sık karşılaştığı ilk sürpriz davranıştır.
if-elif-else yapısı karar almayı sağlar. Koşul doğruysa bir blok çalışır, yanlışsa başka bir blok devreye girer. Karmaşık kararlarda elif ile ara koşullar eklenir.
not_ortalamasi = 72
if not_ortalamasi >= 85:
harf_notu = "AA"
elif not_ortalamasi >= 70:
harf_notu = "BA"
else:
harf_notu = "FF"
print(harf_notu)
Döngüler aynı işlemi bir liste veya sayı aralığı üzerinde tekrarlar. for döngüsü Python'da en sık kullanılan döngü tipidir çünkü liste ve sözlüklerle doğrudan çalışır.
siparisler = [120, 45, 300, 75]
toplam = 0
for tutar in siparisler:
toplam += tutar
print(f"Toplam tutar: {toplam} TL")
while döngüsü ise koşul doğru kaldığı sürece çalışmaya devam eder; tekrar sayısının önceden bilinmediği durumlarda tercih edilir. Değişken, fonksiyon, koşul ve döngü bir araya geldiğinde günlük hayattaki otomasyon görevlerinin neredeyse tamamı çözülebilir hale gelir.
Python hangi işler için kullanılır
Python'un yaygınlığı tek bir alana değil, aynı dille açılan çok sayıda kapıya dayanır. Aşağıdaki tablo yaygın kullanım alanlarını ve o alanlarda öne çıkan kütüphaneleri gösterir.

| Alan | Ne için kullanılır | Yaygın kütüphaneler |
|---|---|---|
| Web geliştirme | Sunucu tarafı uygulamalar, API'ler | Django, Flask, FastAPI |
| Veri bilimi | Veri temizleme, analiz, görselleştirme | pandas, NumPy, Matplotlib |
| Yapay zeka / makine öğrenmesi | Model eğitimi, doğal dil işleme | PyTorch, TensorFlow, scikit-learn |
| Otomasyon / betik yazımı | Dosya işlemleri, zamanlanmış görevler | os, shutil, schedule |
| Test ve DevOps | Otomatik test, sunucu yönetimi | pytest, Ansible, Fabric |
Bir öğrenci web sitesi kurmak için Django öğrenirken, bir veri analisti aynı temel sözdizimiyle pandas kullanır. Kod farklı görünür ama temel kurallar (değişken, fonksiyon, döngü, koşul) aynı kalır. Bir alanda öğrenilen mantık diğerine kolayca taşınır, sıfırdan başlamak gerekmez. StackOverflow'un yıllık geliştirici anketlerinde Python düzenli olarak en çok kullanılan diller arasında yer alır; bunun nedeni tek bir sektöre bağlı kalmaması ve öğrenme eğrisinin diğer dillere göre daha alçak olmasıdır.
Kütüphaneleri pip ile nasıl kurarsınız
Python'un asıl gücü standart kütüphanenin ötesinde başlar. PyPI (Python Package Index) üzerinde yüz binlerce paket barınır ve bunlar pip komutuyla kurulur.

pip install requests
pip install pandas matplotlib
Kurulan paketi Python dosyasında import ile çağırırsınız. Örneğin requests kütüphanesi bir web sayfasından veri çekmeyi tek satıra indirir.
import requests
yanit = requests.get("https://api.github.com")
print(yanit.status_code)
Projeler büyüdükçe her proje için ayrı bir sanal ortam (virtual environment) kurmanız önerilir, çünkü farklı projeler aynı kütüphanenin farklı sürümlerini isteyebilir. Sanal ortam kullanmadan çalışırsanız bir projede yükselttiğiniz paket sürümü başka bir projeyi bozabilir.
python -m venv ortam
ortam\Scripts\activate
Bu komut Windows içindir; Linux ve macOS'ta source ortam/bin/activate kullanılır. Sanal ortam aktifken kurulan paketler yalnızca o projeyi etkiler, sistem genelini karıştırmaz. Proje bittiğinde deactivate yazarak ortamdan çıkabilirsiniz. Kurulu paketlerin listesini pip freeze > requirements.txt komutuyla dosyaya yazabilir, aynı dosyayı başka bir bilgisayarda pip install -r requirements.txt ile birebir kurabilirsiniz.
Basit bir otomasyon betiği nasıl yazılır
Python'un günlük işte en çok fark yarattığı yer, elle yapılan tekrarlı işleri ortadan kaldırmasıdır. Aşağıdaki betik bir klasördeki .txt dosyalarını tarih etiketiyle yeniden adlandırır.
import os
from datetime import date
klasor = "belgeler"
bugun = date.today().isoformat()
for dosya in os.listdir(klasor):
if dosya.endswith(".txt"):
yeni_ad = f"{bugun}_{dosya}"
os.rename(
os.path.join(klasor, dosya),
os.path.join(klasor, yeni_ad)
)
print(f"{dosya} -> {yeni_ad}")
Bu on beş satırlık kod, elle yapıldığında yüzlerce dosyada saatler süren bir işi saniyeler içinde bitirir. os.listdir klasördeki dosyaları listeler, os.rename her birini yeniden adlandırır. date.today().isoformat() bugünün tarihini "2026-07-02" gibi standart bir formatta döndürür.
Benzer mantıkla bir Excel dosyasındaki verileri CSV'ye çevirmek, e-postaları otomatik ayıklamak veya günlük yedek almak da birkaç fonksiyonla yazılabilir. Otomasyon senaryolarının çoğu aynı sırayı izler: önce dosyalar okunur, sonra koşula göre işlenir, son olarak sonuç yazılır. Bu sırayı bir kez kavradıktan sonra farklı senaryolara uyarlamak, çoğunlukla hangi kütüphaneyi kullanacağınızı öğrenmekten ibarettir. Gerçek bir betikte dosya bulunamadığında veya izin hatası oluştuğunda programın çökmemesi için try-except bloğu eklemek de iyi bir alışkanlıktır.
Python öğrenmeye nereden başlamalı
En verimli yol, teoriyi bitirmeden önce küçük bir proje (bir hesap makinesi, bir yapılacaklar listesi ya da yukarıdaki dosya yeniden adlandırma betiği gibi) seçmektir. Pratiği sürekli ertelemek, öğrenilen bilginin kalıcı olmasını engeller.
Resmî Python belgeleri hem yeni başlayanlar hem de ileri seviye kullanıcılar için güncel ve ücretsizdir. Hata mesajını anlamadığınızda önce belgeye, ardından arama motoruna bakmak zaman kazandırır.
Sıfırdan başlayan biri için aşağıdaki sıra makul bir yol haritası sunar.
- Değişkenler, veri tipleri ve operatörlerle bir hafta pratik yapın.
- Koşul ve döngüleri küçük problemlerle pekiştirin; sayı tahmin oyunu ya da çarpım tablosu iyi birer başlangıçtır.
- Fonksiyon yazmayı öğrenin, tekrar eden kodu fonksiyona taşıyın.
- Liste ve sözlük üzerinde veri işleyen küçük bir proje geliştirin.
- Bir kütüphane seçip (
requests,pandasgibi) gerçek bir veriyle çalışın.
Hata almak sürecin doğal bir parçasıdır; SyntaxError, TypeError gibi mesajlar aslında neyin yanlış gittiğini satır numarasıyla birlikte söyler. Hatayı okumadan tekrar denemek, aynı hatayı yeniden üretmekten başka bir işe yaramaz. VS Code veya PyCharm gibi kod editörleri hatalı satırı otomatik işaretler, bu da öğrenme sürecini hızlandırır. GitHub üzerinde açık kaynaklı bir projenin kodunu okumak da öğrenmeyi hızlandırır; deneyimli geliştiricilerin aynı problemi nasıl çözdüğünü gerçek örnekler üzerinden görürsünüz.
En pratik ilerleme yöntemi, her hafta önceki projeye küçük bir özellik eklemektir; sıfırdan yeni bir proje başlatmak yerine mevcut kodu genişletmek, gerçek geliştirme sürecine çok daha yakın bir alışkanlık kazandırır.
Henüz yorum yok.
Sohbete katıl. Yorumlar yayınlanmadan önce moderasyondan geçer.