Alt programlar
Bir alt program , programın bir adı olan ve kendi ayrı görevini çözen ayrı bir parçasıdır. Alt program, ana programın başında bulunur ve adı belirtilerek ana programdan başlatılabilir (çağrılabilir).
Programın farklı yerlerine aynı kodu yazmanız gerekirse, alt yordamları kullanmak, kod tekrarını önlemenizi sağlar.
Bir programa içe aktarılan kitaplıklar (örneğin, matematik kitaplığı matematik), zaten birisi tarafından derlenmiş olan alt programlardan oluşur. Programcıların hangi algoritmaları uyguladıklarını düşünmelerine gerek yoktur, sadece tam olarak ne yaptıklarını düşünerek onları uygularlar. Bu büyük bir zaman tasarrufu. Daha önce başkası tarafından yazılmış bir algoritma yazmaya gerek yoktur.
Her alt program
yalnızca bir görev yapmalıdır, ya sadece bir şey hesaplayın, ya da bazı verilerin çıktısını alın ya da başka bir şey yapın.
İki tür alt program vardır -
prosedürler ve
işlevler
Alt prosedürler, bir sonucu ekranda belirli bir biçimde görüntülemek gibi bazı eylemler gerçekleştirir (basit bir örnek olarak,
print()
deyimi, verileri ekrana yazdıran standart bir alt prosedürdür).
İşlev alt programları, ana programda kullanabileceğimiz
bir sonuç döndürür (sayı, karakter dizisi vb.).
Basit bir prosedür yazmaya çalışalım:
Ekranda "Error" dizesini görüntülememiz gerektiğini varsayalım. her defasında kullanıcının hatasından dolayı kodda bir hata oluşabilir.Örneğin yanlış veri girdiğinde.
Bu, ifadeyi yazarak yapılabilir.
print("Hata")
Ve şimdi programda birçok yere böyle bir satırın eklenmesi gerektiğini hayal edin. Tabii ki, her yere yazabilirsiniz. Ancak bu çözümün iki dezavantajı vardır.
1) Bu dizi hafızada birçok kez saklanacaktır.
2) Hata durumunda çıktıyı değiştirmek istiyorsak bu satırı program boyunca değiştirmek zorunda kalacağız ki bu oldukça elverişsizdir
Bu gibi durumlarda prosedürlere ihtiyaç vardır.
Prosedürü olan bir program şöyle görünebilir:
def printError(): # prosedür açıklaması
print("Hata")
...
printError() # yürütme prosedürünü başlatır.
# Sadece yürütmek istediğimiz prosedürün adını belirtin
...
printError()
Hatırlamanız gerekiyor!
- Yordam,
def
(İngilizce'den - define - - tanımlamak için) kelimesiyle başlar. Prosedürün adından sonra boş parantezler ve iki nokta üst üste yazılır . Parametreler parantez içinde belirtilebilir (buna daha sonra değineceğiz).
- Bir prosedürde yürütülen tüm ifadeler girintilidir.
- Bir prosedürü yürütmek için ana programda onu ismiyle çağırmanız ve parantez yazmayı unutmayın!
- Bir programdaki bir prosedürü istediğiniz kadar çağırabilirsiniz.