Python Fonksiyon Argümanları

Python’da değişken sayıda argüman alan bir fonksiyon tanımlayabilirsiniz. Bu makalede, varsayılan, anahtar kelime ve isteğe bağlı bağımsız değişkenleri kullanarak bu tür işlevleri tanımlamayı öğreneceksiniz.

Argümanlar

Kullanıcı tanımlı fonksiyon başlığında fonksiyon tanımlamayı ve çağırmayı öğrendik. Aksi takdirde, işlev çağrısı bir hatayla sonuçlanacaktır. İşte bir örnek.

Çıktı

Burada fonksiyonun greet()iki parametresi vardır.

Bu fonksiyonu iki argüman ile çağırdığımız için sorunsuz çalışıyor ve herhangi bir hata almıyoruz.

Farklı sayıda argüman ile çağırırsak, yorumlayıcı bir hata mesajı gösterecektir. Aşağıda, ilgili hata mesajlarıyla birlikte bir ve hiçbir argüman içermeyen bu işleve yapılan bir çağrı yer almaktadır.


Değişken Fonksiyon Argümanları

Şimdiye kadar, fonksiyonların sabit sayıda argümanı vardı. Python’da değişken sayıda argüman alabilen bir fonksiyon tanımlamanın başka yolları da vardır.

Bu tipin üç farklı formu aşağıda açıklanmıştır.

Python Varsayılan Argümanları

İşlev bağımsız değişkenleri Python’da varsayılan değerlere sahip olabilir.

Atama operatörünü (=) kullanarak bir argümana varsayılan bir değer sağlayabiliriz. İşte bir örnek.

Çıktı

Bu işlevde, parametrenin namevarsayılan bir değeri yoktur ve arama sırasında gereklidir (zorunlu).

Öte yandan, parametrenin msgvarsayılan değeri "Good morning!". Bu nedenle, bir arama sırasında isteğe bağlıdır. Bir değer sağlanırsa, varsayılan değerin üzerine yazılır.

Bir işlevdeki herhangi bir sayıda bağımsız değişken varsayılan bir değere sahip olabilir. Ancak bir kez varsayılan argümanımız olduğunda, sağındaki tüm argümanların da varsayılan değerlere sahip olması gerekir.

Bu, varsayılan olmayan argümanların varsayılan argümanları takip edemeyeceği anlamına gelir. Örneğin, yukarıdaki fonksiyon başlığını şu şekilde tanımlamış olsaydık:

Şu şekilde bir hata alırdık:


Python Anahtar Kelime Argümanları

Bazı değerlere sahip bir fonksiyon çağırdığımızda, bu değerler konumlarına göre argümanlara atanır.

Örneğin, yukarıdaki fonksiyonda greet(), onu olarak adlandırdığımızda greet("Bruce", "How do you do?"), değer "Bruce"argümana atanır.isimve benzer "How do you do?"şekildemesaj.

Python, işlevlerin anahtar kelime argümanları kullanılarak çağrılmasına izin verir. Fonksiyonları bu şekilde çağırdığımızda argümanların sırası (konumu) değiştirilebilir. Yukarıdaki işleve yapılan aşağıdaki çağrıların tümü geçerlidir ve aynı sonucu verir.

Gördüğümüz gibi, bir fonksiyon çağrısı sırasında konumsal argümanları anahtar kelime argümanlarıyla karıştırabiliriz. Ancak anahtar kelime argümanlarının konumsal argümanları takip etmesi gerektiğini aklımızda tutmalıyız.

Anahtar kelime argümanlarından sonra konumsal bir argümana sahip olmak hatalara neden olur. Örneğin, işlev çağrısı aşağıdaki gibi:

Bir hatayla sonuçlanacak:


Python Keyfi Argümanlar

Bazen bir fonksiyona geçirilecek argüman sayısını önceden bilemeyiz. Python, bu tür durumları, isteğe bağlı sayıda argüman içeren işlev çağrıları yoluyla ele almamızı sağlar.

İşlev tanımında, bu tür bir argümanı belirtmek için parametre adından önce bir yıldız işareti (*) kullanırız. İşte bir örnek.

Çıktı

Burada, fonksiyonu birden çok argümanla çağırdık. Bu argümanlar, fonksiyona aktarılmadan önce bir demete sarılır. Fonksiyonun içinde, fortüm argümanları geri almak için bir döngü kullanırız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.