~/sibercrew
Temel Python

Fonksiyonlar ve Modüller: Kodu Organize Etmek

Tekrar eden kod bloklarını yeniden kullanılabilir hâle getirme ve hazır araç kutularından faydalanma.

Kod yazmaya başladığında, bazı işlemleri (bir port'un açık olup olmadığını kontrol etmek gibi) programının FARKLI yerlerinde tekrar tekrar yapman gerektiğini fark edeceksin. Bu makalede, bu tekrarı önlemenin yolunu (fonksiyonlar) ve başkalarının yazdığı hazır kod parçalarını nasıl kullanacağımızı (modüller) öğreniyoruz.

Fonksiyon Nedir?

Bir fonksiyon, belirli bir işi yapan, isim verilmiş ve TEKRAR TEKRAR çağrılabilen bir kod bloğudur. Bunu bir tarif kartına benzetebiliriz: tarifi bir kez yazarsın, sonra her yemek yapmak istediğinde o tarife bakıp uygularsın, tarifi her seferinde yeniden yazmazsın.

python
def portu_kontrol_et(port):
    if port < 1 or port > 65535:
        return "Geçersiz port numarası!"
    elif port in [80, 443]:
        return "Yaygın bir web portu."
    else:
        return "Diğer bir port."

# Fonksiyonu kullanma (çağırma):
sonuc = portu_kontrol_et(443)
print(sonuc)  # "Yaygın bir web portu." yazdırır

Burada portu_kontrol_et adlı bir fonksiyon TANIMLADIK (def kelimesiyle). Artık bu kontrolü yapmak istediğimiz HER yerde, kodu tekrar yazmak yerine sadece portu_kontrol_et(istediğimiz_port) diye ÇAĞIRMAMIZ yeterli.

Neden Fonksiyon Kullanmalı?

  • Tekrarı önler: Aynı kodu 10 farklı yerde kopyala-yapıştır yapmak yerine, bir kez yazıp defalarca çağırırsın.
  • Hata düzeltmeyi kolaylaştırır: Bir hata bulursan, sadece fonksiyonun TANIMLANDIĞI yeri düzeltirsin — kodun her yerinde tek tek aramana gerek kalmaz.
  • Okunabilirliği artırır: portu_kontrol_et(443) gibi anlamlı bir isim, o kod bloğunun NE YAPTIĞINI anında anlamanı sağlar.

Parametre ve Dönüş Değeri (Return)

Yukarıdaki örnekte port, fonksiyonun bir parametresidir — fonksiyona "dışarıdan" verdiğimiz bir bilgi. return ifadesi ise, fonksiyonun İŞİNİ BİTİRDİKTEN SONRA geriye bir SONUÇ döndürmesini sağlar — bu sonuç, fonksiyonu çağırdığın yerde bir değişkene atanabilir (yukarıdaki örnekte sonuc değişkeni gibi).

Modül Nedir? Hazır Araç Kutularından Faydalanmak

Bir modül, başkaları (veya Python'un kendisi) tarafından ÖNCEDEN yazılmış, hazır fonksiyonlar içeren bir dosyadır. Python'un en güçlü yanlarından biri, neredeyse her ihtiyaç için hazır bir modülün zaten var olmasıdır — sıfırdan yazmana gerek kalmaz.

python
import socket  # ağ işlemleri için hazır bir modül
import datetime  # tarih/saat işlemleri için hazır bir modül

simdi = datetime.datetime.now()
print(f"Şu anki zaman: {simdi}")

import ifadesi, o modülü koduna "dahil eder" — artık o modülün içindeki TÜM hazır fonksiyonları kullanabilirsin. Bir sonraki makalemizde, socket modülünü kullanarak GERÇEK bir ağ işlemi (basit bir port tarayıcı) yazacağız — bu, siber güvenlikte Python'un gerçek gücünü göreceğin ilk pratik örnek olacak.

Kendi Modülünü Oluşturma (Kısa Bir Önizleme)

İleride daha büyük projeler yazdıkça, kendi fonksiyonlarını AYRI bir dosyada toplayıp, bu dosyayı başka script'lerinde import edebilirsin — bu, büyük projelerin nasıl organize edildiğinin temelidir, ama şimdilik bu detaya girmeden, temel import mantığını anlaman yeterli.

Bu makale, Python'da fonksiyonlar ve modüllere giriş niteliğinde, başlangıç seviyeli bir özetidir; SiberCrew ekibi tarafından hazırlanmış özgün içeriktir.