Anasayfa / PYTHON / Python’a Giriş: Temel Kavramlar ve Örnekler

Python’a Giriş: Temel Kavramlar ve Örnekler

Python Nedir ve Neden Popülerdir? Python, 1980’lerin sonlarında Guido van Rossum tarafından tasarlanan ve ilk olarak 1991 yılında piyasaya sürülen üst düzey, genel amaçlı bir programlama dilidir. Günümüzde özellikle yapay zeka, veri bilimi, web geliştirme ve otomasyon alanlarındaki yaygın kullanımıyla dünyanın en popüler dillerinden biri haline gelmiştir. Python’un en büyük avantajı, İngilizce gibi okunabilen, karmaşık olmayan sözdizimidir (syntax). Bu özelliği, onu programlamaya yeni başlayanlar için mükemmel bir “ilk dil” yapar. Geleneksel dillerin aksine, kod bloklarını ayırmak için süslü parantezler yerine boşluk girintileri (indentation) kullanır, bu da programcının yazılımsal ve anlamsal yapıyı görsel olarak çok daha düzenli ve okunabilir bir şekilde kurgulamasını sağlar.

Neden Python Öğrenmelisiniz?

  • Öğrenmesi ve Kullanması Kolaydır: Açık kaynak kodlu ve ücretsizdir. Sade kod yapısı sayesinde çok hızlıca öğrenilebilir ve adapte olunabilir.
  • Çok Yönlülük (Versatility): Python, esnek bir dildir. Basit yapılacaklar listesi (to-do list) uygulamalarından web siteleri kurmaya, grafiklerle veri analizinden yapay zeka araçları ve sistem otomasyonları oluşturmaya kadar her alanda kullanılabilir.
  • Zengin Ekosistem ve Kütüphaneler: Makine öğrenmesi ve veri bilimi dünyasında Python bir endüstri standardıdır. TensorFlow, PyTorch, Pandas, Scikit-learn ve NumPy gibi kütüphaneler sayesinde her türlü projeye uygun ve güçlü hazır kod paketleri sunar.
  • Güçlü İş Fırsatları: TIOBE ve PYPL gibi endekslerde sürekli zirveye oynayan Python, işverenlerin en çok talep ettiği diller arasındadır. Bir Python geliştiricisi, pazar şartlarına göre oldukça rekabetçi ve tatmin edici ortalama maaşlara sahiptir.
  • Yapay Zeka Destekli Geliştirme: Modern yazılım dünyasında, GitHub Copilot veya Amazon Q Developer gibi yapay zeka destekli kod asistanları programcıların verimliliğini artırmaktadır ve Python, bu araçlarla mükemmel bir entegrasyon içerisinde çalışır.

Geliştirme Ortamları (IDE) Kodlarınızı yazmak, test etmek ve hataları bulmak için bir Tümleşik Geliştirme Ortamına (IDE) veya kod editörüne ihtiyacınız vardır. Sıklıkla tercih edilen bazı popüler seçenekler şunlardır:

  • PyCharm: Profesyoneller tarafından çokça tercih edilen, akıllı kod tamamlama ve güçlü hata ayıklama (debugging) araçları sunan kapsamlı bir IDE’dir.
  • Visual Studio Code (VS Code): Microsoft’un ücretsiz, açık kaynaklı ve oldukça hızlı kod editörüdür. Python uzantıları yüklenerek mükemmel bir geliştirme ortamına dönüşür.
  • Jupyter Notebook: Özellikle veri bilimi ve araştırma projelerinde, veriyi görselleştirmek ve kodları adım adım çalıştırıp sonuçları anında görmek için idealdir.

Değişkenler (Variables) ve Temel Veri Tipleri Python’da verileri hafızada tutmak için değişkenler kullanılır. Diğer bazı programlama dillerinin aksine, değişken tanımlarken veri tipini önceden açıkça belirtmenize gerek yoktur; Python bunu otomatik olarak algılar (dinamik tipleme). Değişken İsimlendirme Kuralları: Python’da isimlendirmeler büyük-küçük harfe duyarlıdır. Sayı ile başlayamaz ve boşluk içeremez. Genellikle kelimelerin alt tire (_) ile birleştirildiği “Snake Case” standardı benimsenir. Örnek değişken ataması: okul_no = 1923.

Sık Kullanılan Veri Tipleri:

  • String (Metinsel – str): Tek veya çift tırnak içerisinde yazılan karakter dizileridir. Örnek: yasadigi_sehir = "Ankara". Metinler birbiriyle + operatörü ile birleştirilebilir. Metin içerisindeki belirli bir karaktere ulaşmak için indeksleme (0’dan başlayarak) kullanılabilir; örneğin sehir = "Gaziantep" ise sehir bize “i” harfini verir.
  • Numbers (Sayısal): Tam sayılar için int, ondalıklı sayılar için float veri tipleri bulunur. Örnek: pi_degeri = 3.14.
  • List (Listeler): Farklı verilerin sıralı bir dizi halinde köşeli parantez [] içerisinde tutulduğu, sonradan içeriği değiştirilebilir (mutable) koleksiyonlardır. Örnek: sehirler = ["Ankara", "Bursa", "Çanakkale"].
  • Tuple (Demetler): Listelere çok benzer, ancak normal parantez () ile tanımlanırlar ve en önemli farkları içlerindeki elemanların sonradan değiştirilememesidir (immutable).
  • Dictionary (Sözlükler): Süslü parantez {} ile oluşturulur. Sırasızdır ve anahtar:değer (key:value) ikilileri şeklinde verileri tutar. Sözlüklerde değerlere, onların anahtarları (key) üzerinden ulaşılır.
  • Bool (Mantıksal): Yalnızca True (Doğru) veya False (Yanlış) değerlerinden birini alır.

Temel Operatörler Programlarımızda matematiksel, mantıksal veya karşılaştırma işlemleri yapmamızı sağlayan sembollerdir.

  • Aritmetik Operatörler: Toplama (+), çıkarma (-), çarpma (*), bölme (/), tam sayı bölme (//), mod alma (%) ve üs alma (**) için kullanılır.
  • Karşılaştırma Operatörleri: İki değeri kıyaslayıp mantıksal (True/False) bir sonuç döndürür. Eşittir (==), eşit değildir (!=), büyüktür (>), küçüktür (<), büyük eşittir (>=) şeklindedir. Değer eşitliğini kontrol etmek için == kullanılırken, objelerin bellekte aynı olup olmadığını kontrol etmek için is operatörü kullanılır.
  • Mantıksal Operatörler: Birden fazla koşulu değerlendirirken and (ve – tüm şartlar doğruysa True), or (veya – en az bir şart doğruysa True) ve not (değil – sonucu tersine çevirir) bağlaçları kullanılır.

Kontrol Yapıları: Karar Alma ve Döngüler Yazılan bir programın akıllı davranabilmesi için, çeşitli durumlara farklı tepkiler vermesi ve rutin işleri otomatize etmesi gerekir.

  • If – Elif – Else (Karar Yapıları): Eğer belli bir koşul sağlanıyorsa bir kod bloğu çalıştırılır, aksi takdirde alternatif senaryolara geçilir. Örnek bir çift sayı kontrolü:
sayi = int(input("Bir sayı girin: "))
if sayi % 2 == 0:
    print("Çift sayı")
else:
    print("Tek sayı")

Bu örnekte aynı zamanda input() fonksiyonu kullanılarak kullanıcıdan nasıl veri alındığını da görmekteyiz. Üçten fazla koşul barındıran senaryolarda araya elif (else if kısaltması) eklenir.

  • For Döngüsü: Belirli bir şarta veya listeye/diziye bağlı kalarak kodların tekrarlanmasını sağlar. Genellikle kaç kez döneceği önceden belirli olduğunda range() fonksiyonu ile birlikte çok sık kullanılır.
for sayilar in range(5):
    print(sayilar) # Ekrana alt alta 0, 1, 2, 3, 4 yazdırır.

  • While Döngüsü: Belirtilen bir ifade “Doğru” (True) olduğu sürece çalışmaya devam eden bir döngü yapısıdır. Ne kadar tekrar edeceğimizin kesin bilinmediği durumlarda çok kullanışlıdır.
i = 0
while (i < 5):
    print("Kodlama")
    i = i + 1

Not: Herhangi bir döngüyü koşulu beklemeden aniden sonlandırmak için break, döngünün o anki iterasyonunu atlayıp başa sarması için ise continue komutlarını kullanabilirsiniz.

Fonksiyonlar ile Kodu Tekrar Kullanılabilir Yapmak Sürekli tekrar eden işlemleri her seferinde baştan yazmak yerine, onları ihtiyaç halinde çağırabileceğimiz küçük, isimlendirilmiş kod blokları (paketleri) haline getirebiliriz; bunlara “fonksiyon” denir. Fonksiyonlar hem kodun okunabilirliğini artırır hem de bellek tasarrufu sağlar. Python’da yeni bir fonksiyon oluşturmak için def anahtar kelimesi kullanılır.

def selamla(ad):
    print("Merhaba " + ad)

selamla("Ali") # Çıktı: Merhaba Ali

Fonksiyonlar dış dünyadan verileri parametre (örneğin yukarıdaki ad değişkeni) olarak alabilir ve kendi içindeki işlemler bittikten sonra return ifadesi yardımıyla elde ettiği sonucu geri döndürebilir.

Hataları Yakalamak ve Yönetmek (Try – Except) Gerçek dünyada kullanıcılar hatalı veriler girebilir, dosyalar okunamayabilir veya beklenmedik sistem kesintileri olabilir. Programın böyle anlarda kilitlenip tamamen çökmesini engellemek için hata kontrolü (Exception Handling) yapılmalıdır. Python’da bu işlem try ve except blokları kullanılarak gerçekleştirilir.

try:
    sayi = int(input("Bölünen: "))
    sayi2 = int(input("Bölen: "))
    sonuc = sayi / sayi2
    print("Sonuç:", sonuc)
except ZeroDivisionError:
    print("Bir sayıyı sıfıra bölemezsiniz!")
except ValueError:
    print("Lütfen sadece sayısal değerler giriniz!")

Bu yapıda program try içindeki kodları çalıştırmayı dener; işler ters giderse ilgili except bloğuna (örneğin sıfıra bölme hatası veya veri tipi hatası) geçiş yapar ve kullanıcıya dostça bir mesaj vererek programın çalışmaya devam etmesini sağlar.

Sonuç Python’un yaratılış felsefelerinden birini yansıtan meşhur “Zen of Python” metninin de dediği gibi: “Basit, karmaşıktan iyidir” (Simple is better than complex) ve “Okunabilirlik önemlidir” (Readability counts). Bu güçlü ve kullanıcı dostu programlama dili sayesinde kod yazmak, aşılması zor bir duvar değil, fikirlerinizi doğrudan dijital dünyaya yansıtabileceğiniz eğlenceli bir köprü halini alır. Değişken tanımlamalarından döngülere, fonksiyonlardan hata yönetimine kadar bu rehberde edindiğiniz temel yapı taşlarıyla, Python dünyasının sunduğu engin olanakları artık rahatlıkla keşfedebilirsiniz. Bol örnek çözerek ve denemeler yaparak, öğrenme sürecinizi pekiştirmeniz ve uzmanlaşmanız sadece bir zaman meselesidir!

Etiketlendi:

3 Yorum

Cevap bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir