Python Tutorial: Başlangıçtan İleriye Kapsamlı Rehber
Yazılım dünyasına adım atmak isteyen herkes için Python, öğrenmesi kolay sözdizimi ve geniş uygulama alanlarıyla mükemmel bir başlangıç noktasıdır. Web geliştirmeden yapay zekaya, veri analizinden otomasyona kadar birçok alanda kullanılan Python, bugün en popüler programlama dillerinden biridir. Bu rehber, Python’a sıfırdan başlayanlar için temel kavramları, kurulumu, sözdizimini ve pratik örnekleri kapsayan kapsamlı bir yol haritası sunmaktadır. Hazırsanız, bu heyecan verici yolculuğa birlikte çıkalım!
Bölüm 1: Python’a Giriş ve Kurulum
Python Nedir?
Python, Guido van Rossum tarafından 1991 yılında geliştirilmiş, yüksek seviyeli, yorumlanabilen, nesne yönelimli ve genel amaçlı bir programlama dilidir. “Okunabilirliği” ve “sadelik” felsefesi üzerine kurulmuştur; bu da onu yeni başlayanlar için ideal kılar. Geniş standart kütüphanesi sayesinde birçok karmaşık görevi basit kodlarla halledebilirsiniz.
Neden Python Öğrenmelisiniz?
- Kolay Öğrenilebilir: Basit ve anlaşılır sözdizimi sayesinde programlamaya yeni başlayanlar hızla adapte olabilir.
- Geniş Uygulama Alanları: Web geliştirme (Django, Flask), veri bilimi ve yapay zeka (Pandas, NumPy, TensorFlow), otomasyon, oyun geliştirme, masaüstü uygulamaları gibi birçok alanda kullanılır.
- Büyük Topluluk Desteği: Karşılaştığınız sorunlara hızlıca çözüm bulabileceğiniz devasa bir geliştirici topluluğu ve zengin kaynaklar mevcuttur.
- Çok Yönlülük: Windows, macOS, Linux gibi farklı işletim sistemlerinde sorunsuz çalışır.
- Yüksek Talep: İş piyasasında Python bilen geliştiricilere olan talep her geçen gün artmaktadır.
Python Kurulumu
Python’u bilgisayarınıza kurmak oldukça basittir. Genellikle Python 3.x versiyonu tercih edilir.
- Python İndirme: Python resmi web sitesine gidin. İşletim sisteminize (Windows, macOS, Linux) uygun en son kararlı Python 3 sürümünü indirin.
-
Kurulum:
-
Windows İçin: İndirdiğiniz
.exedosyasını çalıştırın. Kurulum ekranında “Add Python X.X to PATH” seçeneğini işaretlemeyi UNUTMAYIN. Bu, Python komutlarını komut istemcisinden doğrudan çalıştırmanızı sağlar. Ardından “Install Now” seçeneğine tıklayarak kurulumu tamamlayın. -
macOS İçin: İndirdiğiniz
.pkgdosyasını açın ve adımları takip ederek kurulumu tamamlayın. macOS genellikle Python’un eski bir sürümüyle gelir, ancak yeni uygulamalar için resmi siteden indirdiğiniz sürümü kullanmanız önemlidir. -
Linux İçin: Çoğu Linux dağıtımında Python zaten yüklüdür. Terminali açarak
python3 --versionkomutuyla kontrol edebilirsiniz. Güncel bir sürüm yoksa, dağıtımınızın paket yöneticisini kullanarak (örn: Ubuntu içinsudo apt install python3) kurabilirsiniz.
-
Windows İçin: İndirdiğiniz
-
Kurulumu Doğrulama: Komut istemcisini (Windows’ta CMD veya PowerShell, macOS/Linux’ta Terminal) açın ve aşağıdaki komutları çalıştırın:
python --version python3 --version pip --version pip3 --versionBu komutlar Python ve pip (Python paket yöneticisi) versiyonlarını göstermelidir. Eğer hata alırsanız, kurulum adımlarını tekrar kontrol edin, özellikle PATH ayarını.
-
Geliştirme Ortamı (IDE) Seçimi: Kod yazmak ve çalıştırmak için bir IDE (Entegre Geliştirme Ortamı) veya kod düzenleyici kullanmanız önerilir. Başlangıç için popüler seçenekler:
- VS Code: Hafif, çok yönlü ve birçok dil için eklenti desteği sunar.
- PyCharm Community Edition: Python için özel olarak tasarlanmış, güçlü özelliklere sahip profesyonel bir IDE’dir.
- Jupyter Notebook: Veri analizi ve etkileşimli kodlama için idealdir.
Bu rehberde basit kod örnekleri için herhangi bir metin düzenleyici veya doğrudan terminal yeterli olacaktır.
Bölüm 2: Python Temelleri: İlk Adımlarınız
Merhaba Dünya!
Her programlama dilini öğrenirken ilk adım “Merhaba Dünya!” çıktısı almaktır. Python’da bu oldukça basittir. Bir metin düzenleyici açın, aşağıdaki kodu yazın ve ilk_programim.py gibi bir isimle kaydedin.
print("Merhaba Dünya!")
Kaydettiğiniz dizine komut istemcisinden gidin ve şu komutu çalıştırın: python ilk_programim.py. Ekranda “Merhaba Dünya!” yazısını görmelisiniz. print() fonksiyonu, ekrana çıktı vermek için kullanılır.
Değişkenler ve Veri Tipleri
Değişkenler, verileri depolamak için kullanılan isimlendirilmiş depolama alanlarıdır. Python, veri tipini otomatik olarak algılar (dinamik tiplendirme).
# Sayısal Veri Tipleri: int (tam sayı), float (ondalıklı sayı)
yas = 30 # int
boy = 1.75 # float
Metin Veri Tipi: str (string)
isim = "Ayşe" # str
mesaj = 'Merhaba Python!' # Tek tırnak da kullanılabilir
Mantıksal Veri Tipi: bool (boolean)
aktif = True # bool (True veya False)
pasif = False # bool
print(f"Ad: {isim}, Yaş: {yas}, Boy: {boy}, Aktif: {aktif}")
print(type(yas)) # Bir değişkenin tipini öğrenmek için type() kullanılır.
print(type(boy))
print(type(isim))
Python’da değişken tanımlamak için herhangi bir anahtar kelimeye ihtiyaç yoktur, doğrudan atama yapabilirsiniz.
Operatörler
Operatörler, değişkenler ve değerler üzerinde işlemler yapmak için kullanılır.
- Aritmetik Operatörler:
+,-,,/(bölme),%(mod alma),*(üs alma),//(tam sayı bölme) - Karşılaştırma Operatörleri:
==(eşit mi),!=(eşit değil mi),>(büyük mü),<(küçük mü),>=(büyük eşit mi),<=(küçük eşit mi) - Mantıksal Operatörler:
and(ve),or(veya),not(değil)
a = 10
b = 3
Aritmetik
print(f"Toplam: {a + b}") # 13
print(f"Çarpım: {a * b}") # 30
print(f"Bölüm: {a / b}") # 3.333...
print(f"Mod: {a % b}") # 1 (10'un 3'e bölümünden kalan)
Karşılaştırma
print(f"a, b'ye eşit mi? {a == b}") # False
print(f"a, b'den büyük mü? {a > b}") # True
Mantıksal
x = True
y = False
print(f"x ve y: {x and y}") # False
print(f"x veya y: {x or y}") # True
print(f"x'in değil'i: {not x}") # False
Kullanıcıdan Girdi Alma
input() fonksiyonu, kullanıcıdan veri almak için kullanılır. Aldığı tüm girdileri varsayılan olarak string (metin) olarak döndürür. Eğer sayısal bir girdi bekliyorsanız, tip dönüşümü yapmanız gerekir.
ad = input("Adınız nedir? ")
yas_str = input("Yaşınız kaç? ")
yas = int(yas_str) # String'i tam sayıya dönüştürme
print(f"Merhaba {ad}, {yas} yaşındasınız.")
print(f"Bir yıl sonra {yas + 1} yaşında olacaksınız.")
Bölüm 3: Kontrol Akışları ve Fonksiyonlar
Koşullu İfadeler (if-elif-else)
Programınızın belirli koşullara göre farklı işlemler yapmasını sağlamak için koşullu ifadeler kullanılır. Python'da bloklar girintilerle belirlenir (boşluk veya tab).
hava_durumu = "yağmurlu"
sicaklik = 25
if hava_durumu == "yağmurlu":
print("Şemsiyeni almayı unutma!")
elif hava_durumu == "güneşli" and sicaklik > 20:
print("Hava çok güzel, dışarı çıkabilirsin.")
else:
print("Hava durumu belirsiz.")
Kısa if-else (tek satır)
durum = "geçti" if sicaklik > 10 else "kaldı"
print(f"Durum: {durum}")
Döngüler (for ve while)
Döngüler, belirli bir kod bloğunu birden fazla kez çalıştırmak için kullanılır.
-
fordöngüsü: Bir dizi (liste, string, demet vb.) üzerindeki her bir öğe için veya belirli bir sayı aralığında döngü yapmak için kullanılır.# Bir liste üzerinde döngü meyveler = ["elma", "muz", "kiraz"] for meyve in meyveler: print(meyve)Sayı aralığında döngü (range fonksiyonu)
range(5) -> 0, 1, 2, 3, 4
range(2, 7) -> 2, 3, 4, 5, 6
range(0, 10, 2) -> 0, 2, 4, 6, 8
for i in range(3): print(f"Sayı: {i}") -
whiledöngüsü: Belirli bir koşul doğru olduğu sürece çalışır.sayac = 0 while sayac < 3: print(f"Sayıcı: {sayac}") sayac += 1 # sayac = sayac + 1break ve continue
break: döngüyü tamamen sonlandırır
continue: mevcut iterasyonu atlar ve bir sonraki iterasyona geçer
for i in range(5): if i == 2: continue # 2'yi atla if i == 4: break # 4'e gelince döngüyü bitir print(i) # Çıktı: 0, 1, 3
Listeler, Demetler, Kümeler ve Sözlükler
Python'da verileri düzenlemek için kullanılan temel veri yapılarıdır.
-
Listeler (List): Sıralı, değiştirilebilir (mutable) ve farklı veri tiplerini içerebilen koleksiyonlardır. Köşeli parantez
[]ile tanımlanır.my_list = [1, "merhaba", 3.14, True] print(my_list[0]) # İlk eleman (indeks 0'dan başlar) my_list.append("yeni") # Eleman ekleme my_list[0] = 10 # Eleman değiştirme print(my_list) -
Demetler (Tuple): Sıralı, değiştirilemez (immutable) koleksiyonlardır. Parantez
()ile tanımlanır.my_tuple = (1, 2, "üç") print(my_tuple[1]) # 2my_tuple[0] = 5 # Hata verir, çünkü demetler değiştirilemez.
-
Kümeler (Set): Sırasız, değiştirilebilir ve benzersiz elemanlar içeren koleksiyonlardır. Küme parantezi
{}ile tanımlanır veyaset()fonksiyonu ile oluşturulur.my_set = {1, 2, 3, 2} print(my_set) # {1, 2, 3} (tekrarlayan 2 silindi) my_set.add(4) print(my_set) -
Sözlükler (Dictionary): Anahtar-değer çiftleri (key-value pairs) şeklinde veri depolayan, sırasız ve değiştirilebilir koleksiyonlardır. Küme parantezi
{}ile tanımlanır.my_dict = {"ad": "Ali", "yas": 25, "sehir": "Ankara"} print(my_dict["ad"]) # Ali my_dict["yas"] = 26 # Değer güncelleme my_dict["meslek"] = "Mühendis" # Yeni anahtar-değer ekleme print(my_dict) print(my_dict.keys()) # Anahtarları listeler print(my_dict.values()) # Değerleri listeler
Fonksiyonlar
Fonksiyonlar, belirli bir görevi yerine getiren yeniden kullanılabilir kod bloklarıdır. Kod tekrarını azaltır, kodunuzu daha düzenli ve okunabilir hale getirir. def anahtar kelimesi ile tanımlanır.
# Parametresiz fonksiyon
def merhaba_yaz():
print("Merhaba, fonksiyondan!")
merhaba_yaz() # Fonksiyonu çağırma
Parametreli fonksiyon
def selamla(isim):
print(f"Merhaba, {isim}!")
selamla("Ayşe")
selamla("Mehmet")
Dönüş değeri olan fonksiyon
def topla(sayi1, sayi2):
sonuc = sayi1 + sayi2
return sonuc # Sonucu döndür
toplam = topla(5, 3)
print(f"Toplam: {toplam}") # 8
Varsayılan parametre değeri
def indirim_hesapla(fiyat, oran=0.10): # Varsayılan oran %10
indirimli_fiyat = fiyat * (1 - oran)
return indirimli_fiyat
print(f"100 TL'lik ürünün %10 indirimli fiyatı: {indirim_hesapla(100)}")
print(f"100 TL'lik ürünün %20 indirimli fiyatı: {indirim_hesapla(100, 0.20)}")
Bölüm 4: Dosya İşlemleri ve Modüller
Dosya Okuma ve Yazma
Python, dosyalarla kolayca etkileşim kurmanızı sağlar. Dosya işlemleri için open() fonksiyonu kullanılır.
- 'w' (write): Dosyayı yazma modunda açar. Eğer dosya yoksa oluşturur, varsa içeriğini siler ve yeniden yazar.
- 'a' (append): Dosyayı ekleme modunda açar. Eğer dosya yoksa oluşturur, varsa içeriğin sonuna ekler.
- 'r' (read): Dosyayı okuma modunda açar. Dosya yoksa hata verir.
# Dosyaya yazma
'with open()' kullanmak, dosya işlemleri bittikten sonra dosyayı otomatik kapatır.
with open("ornek.txt", "w", encoding="utf-8") as dosya:
dosya.write("Bu ilk satır.\n")
dosya.write("Bu da ikinci satır.\n")
print("Dosyaya yazıldı.")
Dosyadan okuma
with open("ornek.txt", "r", encoding="utf-8") as dosya:
icerik = dosya.read() # Tüm içeriği oku
print("\nDosya İçeriği:")
print(icerik)
Satır satır okuma
with open("ornek.txt", "r", encoding="utf-8") as dosya:
print("\nSatır Satır Dosya İçeriği:")
for satir in dosya:
print(satir.strip()) # strip() ile satır sonundaki boşlukları/newline karakterini kaldır
Python Modülleri
Modüller, Python kodunu düzenlemenin ve yeniden kullanmanın bir yoludur. Bir modül, Python fonksiyonları, sınıfları ve değişkenleri içeren bir .py uzantılı dosyadır. Python'da binlerce hazır modül bulunur ve kendi modüllerinizi de oluşturabilirsiniz.
# Örnek: math modülünü kullanarak matematiksel işlemler yapma
import math
print(f"Pi sayısı: {math.pi}")
print(f"16'nın karekökü: {math.sqrt(16)}")
Sadece belirli bir fonksiyonu import etme
from math import factorial
print(f"5'in faktöriyeli: {factorial(5)}") # 120
Kendi modülümüzü oluşturma (örneğin, 'benim_modulum.py' adında bir dosya oluşturun)
benim_modulum.py içeriği:
def selam_ver(isim):
return f"Merhaba {isim}, benim modülümden!"
Başka bir Python dosyasında kullanma:
import benim_modulum
print(benim_modulum.selam_ver("Dünya"))
Modüller sayesinde kodunuzu daha modüler, okunabilir ve yönetilebilir hale getirebilirsiniz. Ayrıca, PyPI (Python Package Index) üzerinden pip install komutuyla birçok üçüncü taraf paketi (örneğin requests, pandas) kolayca kurup kullanabilirsiniz.
Sonuç ve Sıkça Sorulan Sorular (SSS)
Bu rehber, Python programlama dilinin temellerini anlamanız için size kapsamlı bir başlangıç noktası sunmuştur. Değişkenlerden kontrol akışlarına, veri yapılarından fonksiyonlara ve dosya işlemlerine kadar birçok önemli konuyu ele aldık. Unutmayın ki programlama öğrenmek bir maratondur, sprint değil. Pratik yapmak, bol bol kod yazmak ve hatalarla yüzleşmek öğrenme sürecinin ayrılmaz bir parçasıdır. Bu temelleri sağlam bir şekilde öğrendikten sonra, ilgi alanlarınıza göre web geliştirme, veri bilimi, yapay zeka gibi alanlara yönelebilirsiniz. Başarılar dileriz!
SSS (Sıkça Sorulan Sorular)
- Python öğrenmek ne kadar sürer?
- Temelleri öğrenmek birkaç hafta sürebilirken, uzmanlaşmak ve karmaşık projeler geliştirmek aylar hatta yıllar alabilir. Önemli olan düzenli pratik yapmak ve sürekli öğrenmeye açık olmaktır. Günde 1-2 saat ayırarak birkaç ay içinde anlamlı projeler yapabilecek seviyeye gelebilirsiniz.
- Hangi IDE'yi veya kod düzenleyiciyi kullanmalıyım?
- Başlangıç için VS Code veya PyCharm Community Edition mükemmel seçeneklerdir. VS Code daha hafif ve genel amaçlıyken, PyCharm Python odaklı güçlü özellikler sunar. İkisini de deneyerek size en uygun olanı seçebilirsiniz.
- Python ile neler yapabilirim?
-
Python ile yapabilecekleriniz neredeyse sınırsızdır:
- Web uygulamaları geliştirebilirsiniz (Django, Flask).
- Veri analizi ve görselleştirme yapabilirsiniz (Pandas, NumPy, Matplotlib).
- Yapay zeka ve makine öğrenimi modelleri oluşturabilirsiniz (TensorFlow, Keras, Scikit-learn).
- Otomasyon betikleri yazabilirsiniz (sistem yönetimi, dosya işlemleri).
- Oyun geliştirebilirsiniz (Pygame).
- Masaüstü uygulamaları yapabilirsiniz (Tkinter, PyQt).
- Bir sonraki adım ne olmalı?
- Temelleri öğrendikten sonra, küçük projeler geliştirmeye başlayın. Örneğin, bir hesap makinesi, bir kelime sayacı veya basit bir not defteri uygulaması yapmayı deneyin. Ardından ilgi alanlarınıza göre belirli bir alana (web, veri bilimi vb.) odaklanarak o alandaki kütüphaneleri ve framework'leri öğrenmeye başlayın. Online kurslar, dokümantasyonlar ve topluluklar size yol gösterecektir.
