Şimdi şöyle bir düşünün: Diyelim ki çalıştığınız işyerinde her gün bir yerlere bir dilekçe gönderiyorsunuz. Aslında farklı yerlere gönderdiğiniz bu dilekçeler temel olarak aynı içeriğe sahip. Yani mesela dilekçeyi Mehmet Beye göndereceğiniz zaman yazıya Mehmet Beyin adını; Ahmet Beye göndereceğiniz zaman ise Ahmet Beyin adını yazıyorsunuz. Ayrıca tabii dilekçe üzerindeki tarih bilgilerini de güne göre düzenliyorsunuz.
Mantıklı bir insan, yukarıdaki gibi bir durumda elinde bir dilekçe taslağı bulundurur ve sadece değiştirmesi gereken kısımları değiştirip dilekçeyi hazır hale getirir. Her defasında aynı bilgileri en baştan yazmaz.
Dilerseniz anlattığımız bu durumu Python programlama dili ile temsil etmeye çalışalım:
Bu dilekçe Mehmet Beye gidiyor. İsterseniz bir tane de Ahmet Beye yazalım...
Burada dikkat ederseniz iki dilekçenin metin içeriği aslında aynıdır. Sadece bir-iki yer değişiyor. Bu kodları bu şekilde yazmak oldukça verimsiz bir yoldur. Çünkü bu sistem hem programcıya çok vakit kaybettirir, hem fazlasıyla kopyala-yapıştır işlemi gerektirir, hem de bu kodların bakımını yapmak çok zordur. Eğer dilekçe metni üzerinde bir değişiklik yapmak isterseniz program içindeki ilgili kodları tek tek bulup düzeltmeniz gerekir. Yani mesela yukarıdaki iki dilekçenin aynı program içinde olduğunu varsayarsak, dilekçe metnindeki bir hatayı düzeltmek istediğimizde aynı düzeltmeyi birkaç farklı yerde yapmamız gerekir. Örneğin yukarıdaki dilekçe metninde bir yazım hatası var. İlk satırda tarihinde yazacağımıza tariginde yazmışız... Tabii biz Mehmet Beye yazdığımız dilekçenin metnini Ahmet Beye yazacağımız dilekçeyi hazırlarken kopyala-yapıştır yaptığımız için aynı hata Mehmet Beye gidecek dilekçede de var. Şimdi biz bu yazım hatasını düzeltmek istediğimizde, bütün dilekçe metinlerini tek tek gözden geçirmemiz gerekecektir. Hele bir de dilekçe sayısı çok fazlaysa bu işlemin ne kadar zor olacağını bir düşünün. Tabii bu basit durum için, her metin düzenleyicide bulunan bul-değiştir özelliğini kullanabiliriz. Ama işler her zaman bu kadar kolay olmayabilir. Bu bakım ve taslaklama işini kolaylaştıracak bir çözüm olsa ve bizi aynı şeyleri tekrar tekrar yazmaktan kurtarsa ne kadar güzel olurdu, değil mi? İşte Python buna benzer durumlar için bize fonksiyon denen bir araç sunar. Biz de bu bölümde bu faydalı aracı olabildiğince ayrıntılı bir şekilde incelemeye çalışacağız.
Mantıklı bir insan, yukarıdaki gibi bir durumda elinde bir dilekçe taslağı bulundurur ve sadece değiştirmesi gereken kısımları değiştirip dilekçeyi hazır hale getirir. Her defasında aynı bilgileri en baştan yazmaz.
Dilerseniz anlattığımız bu durumu Python programlama dili ile temsil etmeye çalışalım:
Kod:
# -*- coding: utf-8 -*- print """Sayın Mehmet Bey, 19.12.2009 tariginde yaptığımız başvurunun sonuçlandırılması hususunda yardımlarınızı rica ederiz. Saygılarımızla, Orçun Kunek"""
Bu dilekçe Mehmet Beye gidiyor. İsterseniz bir tane de Ahmet Beye yazalım...
Kod:
print """Sayın Ahmet Bey, 15.01.2010 tariginde yaptığımız başvurunun sonuçlandırılması hususunda yardımlarınızı rica ederiz. Saygılarımızla, Orçun Kunek"""
Burada dikkat ederseniz iki dilekçenin metin içeriği aslında aynıdır. Sadece bir-iki yer değişiyor. Bu kodları bu şekilde yazmak oldukça verimsiz bir yoldur. Çünkü bu sistem hem programcıya çok vakit kaybettirir, hem fazlasıyla kopyala-yapıştır işlemi gerektirir, hem de bu kodların bakımını yapmak çok zordur. Eğer dilekçe metni üzerinde bir değişiklik yapmak isterseniz program içindeki ilgili kodları tek tek bulup düzeltmeniz gerekir. Yani mesela yukarıdaki iki dilekçenin aynı program içinde olduğunu varsayarsak, dilekçe metnindeki bir hatayı düzeltmek istediğimizde aynı düzeltmeyi birkaç farklı yerde yapmamız gerekir. Örneğin yukarıdaki dilekçe metninde bir yazım hatası var. İlk satırda tarihinde yazacağımıza tariginde yazmışız... Tabii biz Mehmet Beye yazdığımız dilekçenin metnini Ahmet Beye yazacağımız dilekçeyi hazırlarken kopyala-yapıştır yaptığımız için aynı hata Mehmet Beye gidecek dilekçede de var. Şimdi biz bu yazım hatasını düzeltmek istediğimizde, bütün dilekçe metinlerini tek tek gözden geçirmemiz gerekecektir. Hele bir de dilekçe sayısı çok fazlaysa bu işlemin ne kadar zor olacağını bir düşünün. Tabii bu basit durum için, her metin düzenleyicide bulunan bul-değiştir özelliğini kullanabiliriz. Ama işler her zaman bu kadar kolay olmayabilir. Bu bakım ve taslaklama işini kolaylaştıracak bir çözüm olsa ve bizi aynı şeyleri tekrar tekrar yazmaktan kurtarsa ne kadar güzel olurdu, değil mi? İşte Python buna benzer durumlar için bize fonksiyon denen bir araç sunar. Biz de bu bölümde bu faydalı aracı olabildiğince ayrıntılı bir şekilde incelemeye çalışacağız.
