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.
*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.