Python Tutorials

Python’da Fonksiyon Argümanlarında Ustalaşma

Spread the love

Fonksiyonlar, modüler ve yeniden kullanılabilir Python kodunun temel taşıdır. Bu öğretici, fonksiyon argümanlarının inceliklerine dalarak, daha temiz, daha verimli ve daha az hataya açık programlar yazmanız için gereken bilgiyi size sunar.

İçindekiler

Pozisyonel Argümanlar

Pozisyonel argümanlar en basit formdur. Fonksiyona tanımlandıkları sırayla geçirilirler. Sıra kesinlikle uygulanır; fonksiyon çağrısı sırasında argümanların sırasının eşleşmemesi yanlış sonuçlara veya hatalara yol açacaktır.


def greet(name, greeting):
  print(f"{greeting}, {name}!")

greet("Alice", "Hello")  # Doğru sıra
greet("Hello", "Alice")  # Yanlış sıra - "Alice, Hello!" yazdıracak

Anahtar Kelime Argümanları

Anahtar kelime argümanları, bir fonksiyonu çağırırken argüman adını belirtmenizi sağlar. Bu, özellikle birçok parametresi olan fonksiyonlarla uğraşırken kodunuzu daha okunabilir ve daha az hataya açık hale getirir. Anahtar kelime argümanlarının sırası önemli değildir.


def describe_pet(animal_type, pet_name, age=None):
  print(f"n{animal_type}'ım var.")
  print(f"{animal_type}'imin adı {pet_name.title()}.")
  if age:
    print(f"{animal_type}'im {age} yaşında.")

describe_pet(animal_type='hamster', pet_name='harry')
describe_pet(pet_name='willie', animal_type='dog', age=5)

Varsayılan Argümanlar

Varsayılan argümanlar, fonksiyon parametreleri için bir yedek değer sağlar. Fonksiyon çağrıldığında bir değer sağlanmazsa, varsayılan değer kullanılır. Varsayılan argümanlar, fonksiyon tanımında her zaman varsayılan olmayan argümanlardan sonra yerleştirilmelidir.


def power(base, exponent=2):
  return base ** exponent

print(power(3))      # Çıktı: 9 (üs 2 olarak varsayılır)
print(power(3, 3))  # Çıktı: 27

Değişken Sayıda Argüman (*args ve **kwargs)

`*args` ve `**kwargs` sözdizimi, sırasıyla değişken sayıda pozisyonel ve anahtar kelime argümanını işlemenizi sağlar. `*args` pozisyonel argümanları bir tuple’a, `**kwargs` ise anahtar kelime argümanlarını bir sözlüğe toplar.


def my_function(*args, **kwargs):
    print("Pozisyonel argümanlar:", args)
    print("Anahtar kelime argümanlar:", kwargs)

my_function(1, 2, 3, name="Alice", age=30)

Değiştirilebilir mi Değiştirilemez mi Argümanlar

Fonksiyon argümanlarıyla çalışırken değiştirilebilirliği anlamak çok önemlidir. Değiştirilemez nesneler (sayılar, dizeler, tuple’lar gibi) bir fonksiyon içinde değiştirilemez; yapılan herhangi bir değişiklik yeni bir nesne oluşturur. Değiştirilebilir nesneler (listeler, sözlükler gibi) yerinde değiştirilebilir ve fonksiyonun dışındaki orijinal nesneyi etkiler. Bu, dikkatlice ele alınmazsa beklenmedik yan etkilere yol açabilir.


def modify_list(my_list):
  my_list.append(4)  # Orijinal listeyi değiştirir

my_list = [1, 2, 3]
modify_list(my_list)
print(my_list)  # Çıktı: [1, 2, 3, 4] (orijinal liste değiştirildi)


def modify_string(my_string):
    my_string += "!!!"  # Yeni bir dize oluşturur

my_string = "Merhaba"
modify_string(my_string)
print(my_string)  # Çıktı: Merhaba (orijinal dize değişmedi)

Bu kapsamlı kılavuz, Python’da fonksiyon argümanlarıyla çalışma konusunda sağlam bir temel oluşturur. Bu kavramları öğrenmek, kodunuzun kalitesini ve sürdürülebilirliğini önemli ölçüde artıracaktır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir