fonksiyonlar
Şimdiye kadar tüm kodumuzu app.py'ye yazdık, ancak programlarımız büyüdükçe kodumuzu düzenlemek için daha iyi bir yola ihtiyacımız var. Kodumuzu, işlevler dediğimiz daha küçük, daha yönetilebilir ve daha sürdürülebilir parçalara ayırmamız gerekiyor. İşlev, belirli bir görevi gerçekleştiren birkaç kod satırı için bir kapsayıcıdır.
Örneğin, Python'daki birkaç yerleşik işlevi zaten öğrendiniz. print()
ve input()
. Her işlevin bir amacı vardır ve belirli bir görevi nasıl gerçekleştireceğini bilir. Bu nedenle, büyük karmaşık programlar oluşturduğumuzda, kodumuzu yeniden kullanılabilir daha küçük parçalara, yani işlevlere bölmeliyiz.
Bir karşılama mesajı yazdırmak için bir program oluşturarak bu kavramı anlayalım.
print('Hi there!')
print('Welcome aboard!')
Burada sadece iki satır kod içeren basit bir programımız var. Şimdi, diyelim ki, onları yeniden kullanabileceğimiz bir fonksiyona yerleştirmek için başka programlarda onlara ihtiyacımız olacak.
Ayrılmış bir anahtar kelime tanıtmama izin verin def
Python'da define için kısa olan ve bir işlevi tanımlamak için kullanılan.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Şimdi bu kod bloğu bir fonksiyon tanımlayacaktır.greet_user
” bundan sonra kod satırları ile. Bu işlev her çağrıldığında, bu iki satır yürütülür. Bunu kullanalım:
print('start')
greet_user()
print('finish')
Program sırayla yürütülür, yani programda çağırmadan önce bir işlevi tanımlamanız gerekir.
parametreler
Tanımlanan işlevler, Python'un yerleşik işlevlerinden biraz farklı çalışır. Örneğin, print()
bir işlev, yazdırmak istediğimiz bazı bilgileri alır, ancak selamlama işlevimiz herhangi bir bilgi almaz. Kullanıcının adını buraya verip “merhaba” demek yerine kullanıcının adını yazdırsanız daha güzel olmaz mıydı?
Bunu, tanımlanan fonksiyonun parantez içine parametreleri ekleyerek yapabilirsiniz. Sana göstereyim:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Şimdi "name
parantez içindeki ” yerel bir değişken gibi davranacak ve onu çağırırken kullanıcının adını geçebiliriz.
greet_user('Shahbaz')
Şimdi name parametresi “ olarak ayarlandı.Shahbaz
”. Programı kullanmak için değiştirelim.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Unutulmaması gereken önemli bir nokta, ilk satırdaki "name"nin Parametre olarak adlandırılması, sağlanan ada ise, yani Shahbaz'ın argüman olarak adlandırılmasıdır.
Devam edelim ve bu programı çalıştıralım.
Yani bu parametreler ile fonksiyonlarımızda bilgi alabiliriz.
Şimdi ilginç bir şey yapalım. Karşılama mesajına başka bir ad eklemek istediğinizi varsayalım. Basit.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Şimdi, bir fonksiyonun bir parametresi olduğunda, o parametre için bir değer iletmek zorunda olduğumuza dikkat edin. İsmi fonksiyondan kaldırır ve programı çalıştırırsanız bir hata alırız. Ayrıca, tek bir işlevde virgülle ayırarak birden çok parametre kullanabilirsiniz.
Örneğin, greet_user(first_name, last_name):
. Bağımsız değişkenler de benzer şekilde biçimlendirilecektir.
Anahtar Kelime Bağımsız Değişkenleri
Şimdiye kadar, fonksiyonlarımız için parametre tanımladığımızda her zaman değer vermemiz gerektiğini öğrendik, aksi halde hata alırız. Son programda, argümanlar 'Shahbaz'
ve 'Bhatti'
konumsal argümanlar olarak adlandırılırlar, yani programdaki konumları veya sıraları önemlidir.
Python'da, konumun önemli olmadığı, anahtar kelime argümanları adı verilen başka bir tür argümanımız var. Size nasıl çalıştıklarını göstereyim.
Son programa bakın. Bunu şu şekilde değiştirebiliriz:
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
Şimdi first_name
ve last_name
anahtar kelime parametreleridir. Yerlerini değiştirebilirsiniz ve sonuç aynı olacaktır.
Bu, her zaman anahtar kelime argümanlarını kullanmamız gerektiği anlamına gelmez. Çoğu zaman konumsal argümanlar kullanırız, ancak bazı durumlarda bu anahtar kelime argümanları kodumuzun okunabilirliğini iyileştirmemize yardımcı olur.
Anahtar kelime argümanları hakkında bilmeniz gereken bir şey daha var. Anahtar kelime argümanları her zaman konumsal argümanlardan sonra gelmelidir.
İade Beyanı
Şimdiye kadar fonksiyonların nasıl oluşturulacağını ve parametrelerini kullanarak onlara bilgi göndermeyi öğrendik. Şimdi değer döndüren fonksiyonların nasıl oluşturulacağını öğrenelim. Bu, özellikle bir tür hesaplama yapıyorsanız ve sonucu işlevinizi kullanan kişiye döndürmek istiyorsanız kullanışlıdır. Sana göstereyim.
Bir sayının karesini hesaplayacak bir fonksiyon tanımlayalım.
def square(number):
return number*number
Bu sayıyı fonksiyonun dışına döndürmek için return ifadesini kullandık. Şimdi, bu işlevi çağırırsak, tıpkı aşağıdaki gibi bir değer döndürür. input()
işlev. Terminalde yazdıralım.
Aynı sonucun return ifadesini kullanmadan da elde edilebileceğini iddia edebilirsiniz. Hadi kontrol edelim.
İki şey görüyoruz, 9 sayısı ve hiçbiri. Burada ne oluyor?
Python yorumlayıcısı bu kodu çalıştırdığında önce kare fonksiyonunu çağırır ve kontrol fonksiyona geçer. Burada verilen bu sayının karesini hesaplayıp terminale yazdırıyoruz.
Şimdi, varsayılan olarak, tüm işlevler yok değerini döndürür. Dolayısıyla, burada bir return ifademiz yoksa, Python varsayılan olarak hiçbirini döndürmez. None, bir değerin yokluğunu temsil eden bir nesnedir. C, C++, Java ve Javascript'te hiçbir şey veya boş gibi.
Sarmak!
Umarım fonksiyonların önemini anlamışsınızdır.
Kodlama kariyeriniz boyunca büyük ve karmaşık programlar yazmayı planlıyorsanız, bunlar Python öğreniminin önemli bir yönüdür.
Yorum bırak