Diyelim ki bir iş yerinde çalışıyorsunuz ve hergün farklı yerlere aynı taslakta dilekçe gönderiyorsunuz. Dilekçe içeriği aynı yani. Sadece kurumların isimleri veya şahısların isimleri farklı. Ve tarih bilgilerini güncelliyorsunuz hergün. Bunu python'da nasıl yaparız? #- - coding: cp1254 - - print """Sayın Mehmet Bey, 25.02.2011 tarihinde yaptığımız başvurunun sonuçlandırılması hususunda yardımlarınızı rica ederiz. Saygılarımızla, Ahmet İskan""" Hepsini görmek için tıklayın... Aynı dilekçeyi Mustafa Bey'e de gönderelim; #- - coding: cp1254 - - print """Sayın Mustafa Bey, 26.02.2011 tarihinde yaptığımız başvurunun sonuçlandırılması hususunda yardımlarınızı rica ederiz. Saygılarımızla, Ahmet İskan""" Hepsini görmek için tıklayın... 2. dilekçede 2 yerde değişiklik yaptık. 1. isim, 2. si tarih. Her dilekçede böle değişiklik yapmak hem bize çok vakit kaybettirecektir hem çok sıkıcı olacaktır. Yüzlerce dilekçe olduğunu düşünün ve hepsini kopyala-yapıştır ile hazırladınız. Ve ilk metni yazarken bir hata yaptınız. Yüzlerce dilekçede tek tek hataları düzeltmek oldukça zahmetli bir iş. Gerçi her metin düzenleyicide bul-değiştir var ancak işimiz her zaman böyle kolay olmayabilir. İşte böyle durumlarda python'da fonksiyonları kullanıyoruz. FONKSİYONLARI TANIMLAMAK Python'da fonksiyonları kullanmak için ilk önce fonksiyonları tanımlamamız gerekir. Fonksiyonları tanımlamak için def adlı bir parçacığı kullanıyoruz; def fonksiyon_adi : Hepsini görmek için tıklayın... önce def parçacığını yazıyoruz ve hemen ardından fonksiyonumuzun adını yazıyor. Fonksiyon adına istediğiniz herşeyi yazabilirsiniz. Ancak bundada türkçe karakter kullanamıyoruz. Ve fonksiyon adını, fonksiyonun ne işe yaradığını anlatan kısa bir isim seçmeye özen gösterin. Ayrıca fonksiyon sonuna iki nokta üst üste koymalıyız ve sonraki satırları girintili yapmalıyız. İlk fonksiyonumuzu tanımladık ancak böyle bu fonksiyon hiç bir işimize yaramıyor. İşe yaraması için altını doldurmamız lazım; Böylece eksiksiz bir fonksiyon tanımladık. ancak bu kodları çalıştırmaya kalkarsak hiçbir şey elde edemeyiz. Çünkü biz burada sadece fonksiyon tanımladık. Fonksiyonun işletilmesini sağlayacak kodu daha girmedik. Şimdi bu fonksiyonun hayat kazanmasını sağlayacak kodu girelim; Burada fonksiyonu çalıştıran şey son satırdaki komuttur. Son satırdaki komutla fonksiyonumuz çağırdır. Bu işleme python'da fonksiyon çağırısı adı veriliyor. Şimdi konunun en başında verdiğimiz dilekçe örneğini fonksiyon haline getirelim; Bu örnek python'da fonksiyonların bütün özelliklerini koymaktan aciz. Ancak biz şu ana kadar öğrendiklerimizle ancak bu kadar yapabiliyoruz. Bu derste ve diğer derste öğreneceklerimizde fonksiyonlarla daha çok işler yapabilecez. Şimdi buraya kadar öğrendiklerimizi bir görelim; Fonksiyonları kullanmak için fonksiyon tanımlamak gerekir, Fonksiyonları tanımlarken aynı değişkenlerde olduğu gibi türkçe karakter kullanamıyoruz, Tanımladığımız fonksiyonları "gövde"si olması gerekir ve bu gövdeyi girintili şekilde yazmalıyız, Fonksiyonun işlevli olabilmesi için sadece tanımlamak yetmez, fonksiyonu çağırmamızda gerekir. Fonksiyonlarla ilgili bir örnek daha yapalım ve Fonksiyonlarda Parametre Kullanımı konusuna geçelim; Şimdi burada tek_sayi ve cift_sayi adlı 2 tane fonksiyon tanımladık. Bu fonksiyonların görevi "Girdiginiz sayi tekdir" veya "Girdiginiz sayi cifttir" yazdırmaktır. Sonra kullanıcadan bir sayi girmesini istedik. Ardından kullanıcının girdiği sayı 2'ye tam bölünüyorsa "cift_sayi" adlı fonksiyonun devreye girmesini sağladık. Eğer girdiği sayı 2'ye tam bölünmüyorsa "tek_sayi" fonksiyonunun devreye girmesini sağladık. FONKSİYONLARDA PARAMETRE KULLANIMI İlk uygulamalarımızda gördüğünüz gibi fonksiyon adından sonra parantez kullanıyoruz. Ve şimdiye kadar bu parantezin içini boş kullandık. Ama yapacağımız için niteliğine göre o parantezi doldurabiliriz. İşte o boş parantezin içine girdiğimiz bilgilere parametre diyoruz. Fonksiyonlar asıl gücünü bu parametrelerden alırlar. Hemen bir örnek yapalım; Burada "icerik" adında bir fonksiyon tanımladık. Fonksiyonun parametresini "site" olarak tanımladık. Fonksiyonun gövdesini ise print komutu vererek site, "bir bilgisayar güvenlik sitesidir" yaptık. print komutundan sonra kullandığımız "site" ifadesi, fonksiyonu çağırırken kullanacağımız argümana göre değişecektir. Biz o argüman'ı "Wardom.com.tr" olarak kullandık. Fonksiyonu çağırdık ve parantez içine istediğimiz birşey yazdık. Çıktımız şöyle olacaktır; Wardom.com.tr bir bilgisayar güvenlik sitesidir Hepsini görmek için tıklayın... Bu fonksiyonu çağırırken 1 den fazla argüman kullanamıyoruz. Bunun sebebi ise parametreyi sadece 1 adet kullanmış olmamız. Yani şöyle yapamıyoruz; icerik Hepsini görmek için tıklayın... Bunu yapmak istersek fonksiyonu tanımlarken 2 adet parametre kullanmamız gerekir. Mesela şöyle birşey yapalım; Sanırım anlaşıldı. Şimdi ilk başta verdiğimiz dilekçe örneğini parametre kullanarak yapalım. Burada kullanacağımız "%s" ifadesi bize pratiklik sağlar. Örneği verelim, ondan sonra "%s" ifadesini anlatalım; Şimdi burada dilekce_yolla isimli bir fonksiyon tanımladık ve parametlerini "kime", "tarih", "kimden" olarak atadık. Ardından kime gittiğini yazacağımız yere "%s" ifadesini koyduk. Tarih yazacağımız yerede "%s" ifadesi koyduk. Kimden gittiğini yazacağımız yere yine "%s" koyduk. Ve ardından tırnağı kapatıp başına "%" ifadesini ekleyerek sırasıyla bu %s koyduğumuz yerlere ne gelmesini istiyorsak onları yazdık. "% " ve ardından fonksiyonumuzu çağırdık. Gördüğünüz gibi dilekçe göndereceğimiz kişilere sürekli kopyala-yapıştır yapmaktansa bir kez dilekçemizi yazdık. Dilekçemizi göndereceğimiz zaman ise istediğimiz argümanları kullanarak fonksiyonumuzu çağırmak yeterli olacaktır. Diğer dersimizde isimli argümanlardan ve birkaç konudan bahsedeceğim. Şimdilik görüşmek üzere. Herkese iyi forumlar... Bir teşekkür yeter :wub: