Programınızın farklı bölümlerinde yeniden kullanmak için kodunuzu sık sık kopyalayıp yapıştırırken mi buluyorsunuz?
Öyleyse, işlevleri kullanmayı düşünebilirsiniz. Fonksiyonlar, programlama dillerinin çok güçlü bir özelliğidir. Kodu daha verimli, okunması kolay ve zarif hale getirebilirler.
Fonksiyon Nedir?
Bir işlev, bir görevi yerine getiren bir kod bloğudur. Çağrılabilir ve defalarca yeniden kullanıldı. Bilgileri bir işleve aktarabilir ve bilgileri geri gönderebilir. Pek çok programlama dilinin kitaplıklarından erişebileceğiniz yerleşik işlevler vardır, ancak kendi işlevlerinizi de oluşturabilirsiniz.
Programcılar için gerekli ancak biraz kafa karıştıran bir araç olan özyinelemenin temellerini öğrenin.
Bir işlevi çağırdığınızda, program mevcut programı duraklatacak ve işlevi çalıştıracaktır. Fonksiyon yukarıdan aşağıya doğru okunacaktır. İşlev tamamlandığında, program durakladığı yerden çalışmaya devam eder. İşlev bir değer döndürdüyse, işlevin çağrıldığı yerde bu değer kullanılır.
Bir Fonksiyonu Nasıl Yazarsınız?
İşlevleri yazmanın birçok farklı yolu vardır. Tam sözdizimi, programlama yaptığınız dile bağlı olacaktır. Bir dizi programlama sözdizimini göstermek için Python, JavaScript ve C ++ 'da örnekler göstereceğiz.
İlişkili: Programlama Dilleri Neden İşlevler Olmadan Varolamaz?
Void İşlevleri
Bakacağımız ilk işlev türü bir void işlevidir. Bu, basitçe işlevin bir değer döndürmediği anlamına gelir. Void işlevleri, bir dizi talimatı tamamlamak için kullanılır. Bu örneklerde yazdığımız işleve merhabaFunction. Fonksiyonun amacı "Merhaba Dünya" çıktısını vermektir.
İPUCU: Ne yaptıklarını açıklayan işlevlere ad verin. Programınız daha karmaşık hale geldikçe işlevleri yönetmek ve kodu okumak daha kolay olacaktır.
Python
def helloFunction ():
print ("Merhaba Dünya")
merhabaFunction ()
Anahtar kelime def Python'da bir işlev tanımlamak ve oluşturmak için kullanılır. Sonraki, işlevin adıdır. Fonksiyondaki talimatlar, kolondan sonraki satırda takip eder. Python'da beyaz boşluk önemlidir, bu nedenle işlevinizin çalışmasını istediğiniz tüm kodu girdiğinizden emin olun. Yukarıdaki örnekte, işlev bir satır kod çalıştırmaktadır.
Keskin gözlerin bunu fark etmiş olabilir Yazdır() aynı zamanda bir fonksiyondur, ancak bizim fonksiyonumuzdan farklı olarak adlandırılır. Şu anda bu düşünceye tutun, fonksiyonları ve parametreleri daha sonra inceleyeceğiz.
JavaScript
function helloFunction () {
alert ("Merhaba Dünya!");
}
merhabaFunction ();
JavaScript'te anahtar kelime işlevi işlevler oluşturmak için kullanılır. Sonra, fonksiyonun ismine sahibiz. Küme parantezleri arasında kalan herhangi bir kod, işlev çağrıldığında çalıştırılır.
JavaScript'te beyaz boşluk önemli değildir, ancak işlevdeki kodu girintilemek alışılmış bir durumdur. Girinti, kodun okunmasını kolaylaştırır, bu da programlarınız daha karmaşık hale geldikçe çok önemlidir.
Not: Çok benziyor Yazdır() önceki örnekte, uyarmak() aynı zamanda bir işlevdir.
C ++
#Dahil etmek
ad alanı std kullanarak;
void helloFunction () {
cout << "Merhaba Dünya!";
}
int main () {
merhabaFunction ();
dönüş 0;
}
Fonksiyonlar, C ++ 'da farklı şekilde oluşturulur. Bir işlevi tanımlamak için bir anahtar sözcük yerine, ilk sözcük işlevin döndüreceği veri türünü tanımlar. Bu durumda, fonksiyonumuz herhangi bir veri döndürmez, bu nedenle veriler geçersizdir. Sonra, fonksiyonun ismine sahibiz. JavaScript'e benzer şekilde, süslü parantezler arasındaki tüm kod işlev çağrıldığında çalıştırılır. Ayrıca JavaScript'e benzer şekilde, beyaz boşluk işlevi etkilemez, ancak iyi bir uygulamadır.
C ++ kodunda başka bir işlev gördünüz mü? Evet, ana() bir işlevdir. Bir C ++ programını çalıştırdığınızda, otomatik olarak ana işlevi çağırırsınız. Ana işlev başarıyla tamamlandığında, programı çalıştıran herhangi bir hata olmadığını belirtmek için programdan çıkarken 0 değerini döndürür.
Değer Gerektiren İşlevler
Aynı kod parçasını defalarca yazdığınızı fark ederseniz, Void işlevleri harikadır. Ancak sınırlayıcı olabilirler. Statiktirler ve değişmezler. Her zaman aynı talimatları yerine getirirler. Kullanışlılıklarını artırmanın bir yolu, işleve farklı değerler iletmektir.
Parantezlerin tüm işlevlerimizin adlarını takip ettiğini fark etmişsinizdir. Parantez içinde, fonksiyonumuzu çalıştırmak için veriye ihtiyaç olduğunu belirtebiliriz. Daha sonra fonksiyonumuza aktarılan verileri fonksiyon içerisinde kullanabiliriz. Önceki örneklere tekrar göz atalım ama bu sefer çıktısını almak istediğimiz cümleyi geçelim.
Python
def helloFunction (newPhrase):
baskı (newPhrase)
helloFunction ("Yeni ifademiz")
Şimdi, parantezler arasında, fonksiyonumuz çalışması için bir değişkene ihtiyaç duyduğunu bildirir. Değişkeni adlandırdık newPhrase ve şimdi onu işlevimizde kullanabilir. Fonksiyonu çağırdığımızda, istenen bilgiyi parantez arasına yerleştirerek iletmemiz gerekir. JavaScript'te de aynı değişiklikler yapıldı.
JavaScript
function helloFunction (newPhrase) {
uyarı (newPhrase);
}
helloFunction ("Yeni deyimimiz");
C ++
#Dahil etmek
ad alanı std kullanarak;
void helloFunction (string newPhrase) {
cout << newPhrase;
}
int main () {
merhabaFunction ("Yeni İfademiz");
dönüş 0;
}
C ++ işlevimiz biraz daha fazla bilgi gerektiriyordu. İşlevinizin dize verisi istediğini biliyoruz, ancak bu C ++ için yeterli değil. İşlevinizi oluşturduğunuzda, işlevinizin ne tür veriler gerektirdiğini belirtmeniz gerekir. Doğru türde veri göndermezseniz, işlev bir hata oluşturur.
Bu biraz can sıkıcı görünebilir, ancak katı diller genellikle baş ağrısından kurtulabilir. JavaScript'te tamsayı gerektiren bir işlev yazarsanız, ancak sayı bir dize olarak gönderilirse, izlenmesi çok zor bir hata oluşturabilir.
İlişkili: Bilmeniz Gereken 5 İşlevsel Programlama Dili
Değer Döndüren İşlevler
Ele alacağımız son işlev yeteneği, verileri döndürmektir. Bu, kullanmadan önce verileri değiştirmek istediğinizde özellikle değerlidir. Bunu satır içi yazabilseniz de, aynı hesaplamaları birçok kez kullanacaksanız, emperyalden metriğe dönüştürmek gibi, bir işlev olarak yazmak daha anlamlı olabilir. Örneğimiz daha basit olacak. Fonksiyonumuz iki tamsayı gerektirecek ve toplamı döndürecektir.
Python
def addFunction (a, b):
a + b döndür
baskı (eklemeFonksiyonu (2, 4))
Bu örnekte, fonksiyonumuz bir yerine iki değişken gerektirir. Değişken isimlerimizi virgülle ayırarak bunu belirtiyoruz. Anahtar kelime dönüş işleve aşağıdaki verileri, bu durumda 2 + 4 veya 6 döndürmesini söyler. İçerideki işlevi diyoruz Yazdır() işlevi.
Programımız bu satıra ulaştığında, duraklayacak, işlevimizi çalıştıracak ve sanki addFunction (2, 4) aslında sadece döndürülen değer 6 idi.
JavaScript
JavaScript kodu Python koduna çok benzer. Birincil fark, işlevin bir uyarıda çağrılmasıdır.
function addFunction (a, b) {
a + b döndür;
}
uyarı (addFunction (2, 4));
C ++
#Dahil etmek
ad alanı std kullanarak;
int addFunction (int a, int b) {
a + b döndür;
}
int main () {
cout << addFunction (2, 4);
dönüş 0;
}
C ++ kodu benzer şekilde çalışır, ancak her zamanki gibi biraz daha fazla bilgi gerektirir. İlk olarak, fonksiyonumuzun ne tür veriler döndüreceğini söylemeliyiz. Bunu göreceksin geçersiz olarak değiştirildi int. Bu, hiçbir veri döndürmek yerine fonksiyonumuzun bir tamsayı döndüreceği anlamına gelir. Bunun ötesinde, kod, daha önce araştırdığımız koda benzer.
İşlevlerinizi Yönetin
İşlevlerle ilgili eğlenceli bir şey, işlevlerin diğer işlevleri çağırabilmesidir. Hatta kendilerini arayabilirler! Ancak büyük güç, büyük sorumluluk getirir. Daha fazla işlev çağıran diğer işlevleri çağıran işlevlerle kod oluşturmak için çıldırmayın.
Belirtildiği gibi, bir işlev her çağrıldığında, program işlevi çalıştırırken duraklar. Bu, programın aktif bellekte tutulduğu anlamına gelir. Tamamlamadan birkaç işlev daha çağırırsanız, daha fazla aktif bellek kullanıyorsunuz demektir. Dikkatli olmazsanız programınız kontrolden çıkabilir.
Küresel değişkenler basit görünebilir, ancak çoğu zaman bu kadar çok hatanın sebebidir. Kapsülleme ile kodunuzu nasıl düzene sokacağınız aşağıda açıklanmıştır.
- Programlama
- Programlama
- Fonksiyonel Programlama
J. Seaton, karmaşık konuları ayırmada uzmanlaşmış bir Bilim Yazarıdır. Saskatchewan Üniversitesi'nden doktorası vardır; araştırması, öğrencilerin çevrimiçi katılımını artırmak için oyun tabanlı öğrenmeyi kullanmaya odaklandı. Çalışmadığı zamanlarda onu okurken, video oyunları oynarken veya bahçeyle uğraşırken bulacaksınız.
Haber bültenimize abone ol
Teknoloji ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için haber bültenimize katılın!
Bir adım daha…!
Lütfen size az önce gönderdiğimiz e-postadaki e-posta adresinizi onaylayın.