Python *args ve **kwargs Yapısı

Merhaba arkadaşlar, bu yazımızda Python derslerinin bu serisinde yirmi birinci ders olarak Python *args ve **kwargs Yapısı konusuna değinmeye çalışacağım. Umarım sizler için faydalı bir yazı olur. İsterseniz hemen başlayalım.

Python *args ve **kwargs Yapısı

*args ve **kwargs Nedir?

*args ve **kwargs Python dilinde fonksiyonların parametre almasını ve çağrılmasını esnek hale getirmek için kullanılan special anahtar kelimelerdir.

*args (argümanlar), bir fonksiyona belirsiz sayıda argüman göndermek için kullanılır. Bu argümanlar, bir tuple olarak fonksiyona geçirilir. Örnek olarak:

def my_function(*args):
    for arg in args:
        print(arg)

my_function(1, 2, 3)
# Output: 1
#         2
#         3

**kwargs (anahtar argümanlar), bir fonksiyona belirsiz sayıda anahtar/değer argümanları göndermek için kullanılır. Bu argümanlar, bir sözlük olarak fonksiyona geçirilir. Örnek olarak:

def my_function(**kwargs):
    for key, value in kwargs.items():
        print(key, ":", value)

my_function(name="Alice", age=25)
# Output: name : Alice
#         age : 25

*args ve **kwargs fonksiyonların esneklik kazandırmasını sağlar, özellikle belirsiz sayıda argüman alması gereken durumlarda kullanışlıdır. Aynı zamanda bu yapılar fonksiyonların kullanımını arttırmaktadır.

*args Kullanımı

*args (argümanlar), bir fonksiyona belirsiz sayıda argüman göndermek için kullanılır. Bu argümanlar, bir tuple olarak fonksiyona geçirilir. Örnek olarak:

def my_function(*args):
    for arg in args:
        print(arg)

my_function("Hello","world!",1,2,3)
# Output: Hello
#         world!
#         1
#         2
#         3

Bu örnekte, my_function() fonksiyonuna 5 adet argüman gönderdik ve fonksiyon içinde bu argümanları alıp yazdırdık.

*args kullanımı, fonksiyonlar için esneklik kazandırır ve belirsiz sayıda argümanları almasına olanak tanır. Özellikle fonksiyonların kullanımını arttırmak için kullanılır.

**kwargs Kullanımı

**kwargs (anahtar argümanlar), bir fonksiyona belirsiz sayıda anahtar/değer argümanları göndermek için kullanılır. Bu argümanlar, bir sözlük olarak fonksiyona geçirilir. Örnek olarak:

def my_function(**kwargs):
    for key, value in kwargs.items():
        print(key, ":", value)

my_function(name="Alice", age=25, gender="Female")
# Output: name : Alice
#         age : 25
#         gender : Female

Bu örnekte, my_function() fonksiyonuna name,age ve gender anahtarları ile birlikte değerleri “Alice”, 25 ve “Female” olarak gönderdik ve fonksiyon içinde bu değerleri alıp yazdırdık.

**kwargs kullanımı, fonksiyonlar için esneklik kazandırır ve belirsiz sayıda anahtar/değer argümanları almasına olanak tanır. Özellikle fonksiyonların kullanımını arttırmak için kullanılır.

*args ve **kwargs Birlikte Kullanımı

*args ve **kwargs birlikte kullanıldığında, fonksiyon belirsiz sayıda argüman ve anahtar/değer argümanları alabilir. Örnek olarak:

def my_function(arg1, arg2, *args, **kwargs):
    print("arg1:", arg1)
    print("arg2:", arg2)
    print("args:", args)
    print("kwargs:", kwargs)

my_function(1, 2, 3, 4, 5, 6, name="Alice", age=25)
# Output: arg1: 1
#         arg2: 2
#         args: (3, 4, 5, 6)
#         kwargs: {"name": "Alice", "age": 25}

Bu örnekte, my_function() fonksiyonuna ilk iki argüman (arg1 ve arg2), belirsiz sayıda argümanlar(args) ve belirsiz sayıda anahtar/değer argümanları(kwargs) gönderdik. Fonksiyon içinde bu argümanları alıp yazdırdık.

*args ve **kwargs birlikte kullanımı, fonksiyonlar için maksimum esneklik sağlar ve belirsiz sayıda argüman ve anahtar/değer argümanları almasına olanak tanır. Özellikle fonksiyonların kullanımını arttırmak için kullanılır.


Arkadaşlar bu Python *args ve **kwargs Yapısı adlı yazımızın da sonuna gelmiş bulunmaktayız. Umarım faydalı olmuştur.

0 0 votes
Article Rating
Subscribe
Bildir
guest

0 Yorum
En Yeniler
Eskiler Beğenilenler
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x