hakan
1
Merhaba,
Python’da bir fonksiyon çağrıldığında koşula göre verilip verilmeyeceği belli olacak parametre nasıl tanımlanır?
Diyelim ki 2 parametre tanımladım;
def fonksiyon(param1, param2):
Bu şekilde yazıldığında, fonksiyon çağrıldığında 2 parametreyi de isteyecek.
Duruma göre girilmediğinde fonksiyonun istememesini sağlamak için ne yapılabilir?
Merhaba,
Fonksiyonları, hem parametreli, hem de parametresiz çağırabilmenin bir kaç farklı yöntemi var. Aşağıda bu yöntemleri görüyorsunuz.
- Fonksiyonların ön-tanımlı parametreleri olabilir.
def f(x=0, y=0):
if x and not y:
print(x)
elif x and y:
print(x, y)
elif y and not x:
print(y)
f(x=1)
f(x=1, y=2)
f(y=4)
- Ön-tanımlı parametreleri temsil etmesi için
**kwargs
ifadesi kullanılabilir.
def f(**kwargs):
if kwargs:
print(kwargs)
else:
print("No kwargs")
f() # No kwargs
f(10) # No kwargs
f(x=10)
- Parametreleri temsil etmesi için
*args
kullanılabilir.
def f(*args):
if args:
print(args)
else:
print("No args")
f() # No args
f(10)
- Hem parametreleri temsil etmesi için
*args
, hem de ön-tanımlı parametreleri temsil etmesi için **kwargs
'ı aynı anda kullanılabilir.
def f(*args, **kwargs):
if args and not kwargs:
print("args:", args)
elif kwargs and not args:
print("kwargs:", kwargs)
elif args and kwargs:
print("args:", args, "kwargs:", kwargs)
else:
print("No args and kwargs")
f()
f(10, 11)
f(x="x", y="y")
f(10, 11, x="x", y="y")
3 Beğeni