Python fonksiyon parametreleri

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.

  1. 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)
  1. Ö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)
  1. Parametreleri temsil etmesi için *args kullanılabilir.
def f(*args):
	if args:
		print(args)
	else:
		print("No args")
		
		
f()  # No args
f(10)
  1. 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